OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 900 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
911 SBit s = LeaveCC, Condition cond = al); | 911 SBit s = LeaveCC, Condition cond = al); |
912 void mov(Register dst, Register src, SBit s = LeaveCC, Condition cond = al) { | 912 void mov(Register dst, Register src, SBit s = LeaveCC, Condition cond = al) { |
913 mov(dst, Operand(src), s, cond); | 913 mov(dst, Operand(src), s, cond); |
914 } | 914 } |
915 | 915 |
916 // Load the position of the label relative to the generated code object | 916 // Load the position of the label relative to the generated code object |
917 // pointer in a register. | 917 // pointer in a register. |
918 void mov_label_offset(Register dst, Label* label); | 918 void mov_label_offset(Register dst, Label* label); |
919 | 919 |
920 // ARMv7 instructions for loading a 32 bit immediate in two instructions. | 920 // ARMv7 instructions for loading a 32 bit immediate in two instructions. |
921 // This may actually emit a different mov instruction, but on an ARMv7 it | 921 // The constant for movw and movt should be in the range 0-0xffff. |
922 // is guaranteed to only emit one instruction. | |
923 void movw(Register reg, uint32_t immediate, Condition cond = al); | 922 void movw(Register reg, uint32_t immediate, Condition cond = al); |
924 // The constant for movt should be in the range 0-0xffff. | |
925 void movt(Register reg, uint32_t immediate, Condition cond = al); | 923 void movt(Register reg, uint32_t immediate, Condition cond = al); |
926 | 924 |
927 void bic(Register dst, Register src1, const Operand& src2, | 925 void bic(Register dst, Register src1, const Operand& src2, |
928 SBit s = LeaveCC, Condition cond = al); | 926 SBit s = LeaveCC, Condition cond = al); |
929 | 927 |
930 void mvn(Register dst, const Operand& src, | 928 void mvn(Register dst, const Operand& src, |
931 SBit s = LeaveCC, Condition cond = al); | 929 SBit s = LeaveCC, Condition cond = al); |
932 | 930 |
933 // Multiply instructions | 931 // Multiply instructions |
934 | 932 |
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1629 public: | 1627 public: |
1630 explicit EnsureSpace(Assembler* assembler) { | 1628 explicit EnsureSpace(Assembler* assembler) { |
1631 assembler->CheckBuffer(); | 1629 assembler->CheckBuffer(); |
1632 } | 1630 } |
1633 }; | 1631 }; |
1634 | 1632 |
1635 | 1633 |
1636 } } // namespace v8::internal | 1634 } } // namespace v8::internal |
1637 | 1635 |
1638 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1636 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
OLD | NEW |