OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // | 2 // |
3 // Redistribution and use in source and binary forms, with or without | 3 // Redistribution and use in source and binary forms, with or without |
4 // modification, are permitted provided that the following conditions are | 4 // modification, are permitted provided that the following conditions are |
5 // met: | 5 // met: |
6 // | 6 // |
7 // * Redistributions of source code must retain the above copyright | 7 // * Redistributions of source code must retain the above copyright |
8 // notice, this list of conditions and the following disclaimer. | 8 // notice, this list of conditions and the following disclaimer. |
9 // * Redistributions in binary form must reproduce the above | 9 // * Redistributions in binary form must reproduce the above |
10 // copyright notice, this list of conditions and the following | 10 // copyright notice, this list of conditions and the following |
(...skipping 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1123 const Register& rn, | 1123 const Register& rn, |
1124 const Register& rm, | 1124 const Register& rm, |
1125 Condition cond) { | 1125 Condition cond) { |
1126 ConditionalSelect(rd, rn, rm, cond, CSNEG); | 1126 ConditionalSelect(rd, rn, rm, cond, CSNEG); |
1127 } | 1127 } |
1128 | 1128 |
1129 | 1129 |
1130 void Assembler::cset(const Register &rd, Condition cond) { | 1130 void Assembler::cset(const Register &rd, Condition cond) { |
1131 ASSERT((cond != al) && (cond != nv)); | 1131 ASSERT((cond != al) && (cond != nv)); |
1132 Register zr = AppropriateZeroRegFor(rd); | 1132 Register zr = AppropriateZeroRegFor(rd); |
1133 csinc(rd, zr, zr, InvertCondition(cond)); | 1133 csinc(rd, zr, zr, NegateCondition(cond)); |
1134 } | 1134 } |
1135 | 1135 |
1136 | 1136 |
1137 void Assembler::csetm(const Register &rd, Condition cond) { | 1137 void Assembler::csetm(const Register &rd, Condition cond) { |
1138 ASSERT((cond != al) && (cond != nv)); | 1138 ASSERT((cond != al) && (cond != nv)); |
1139 Register zr = AppropriateZeroRegFor(rd); | 1139 Register zr = AppropriateZeroRegFor(rd); |
1140 csinv(rd, zr, zr, InvertCondition(cond)); | 1140 csinv(rd, zr, zr, NegateCondition(cond)); |
1141 } | 1141 } |
1142 | 1142 |
1143 | 1143 |
1144 void Assembler::cinc(const Register &rd, const Register &rn, Condition cond) { | 1144 void Assembler::cinc(const Register &rd, const Register &rn, Condition cond) { |
1145 ASSERT((cond != al) && (cond != nv)); | 1145 ASSERT((cond != al) && (cond != nv)); |
1146 csinc(rd, rn, rn, InvertCondition(cond)); | 1146 csinc(rd, rn, rn, NegateCondition(cond)); |
1147 } | 1147 } |
1148 | 1148 |
1149 | 1149 |
1150 void Assembler::cinv(const Register &rd, const Register &rn, Condition cond) { | 1150 void Assembler::cinv(const Register &rd, const Register &rn, Condition cond) { |
1151 ASSERT((cond != al) && (cond != nv)); | 1151 ASSERT((cond != al) && (cond != nv)); |
1152 csinv(rd, rn, rn, InvertCondition(cond)); | 1152 csinv(rd, rn, rn, NegateCondition(cond)); |
1153 } | 1153 } |
1154 | 1154 |
1155 | 1155 |
1156 void Assembler::cneg(const Register &rd, const Register &rn, Condition cond) { | 1156 void Assembler::cneg(const Register &rd, const Register &rn, Condition cond) { |
1157 ASSERT((cond != al) && (cond != nv)); | 1157 ASSERT((cond != al) && (cond != nv)); |
1158 csneg(rd, rn, rn, InvertCondition(cond)); | 1158 csneg(rd, rn, rn, NegateCondition(cond)); |
1159 } | 1159 } |
1160 | 1160 |
1161 | 1161 |
1162 void Assembler::ConditionalSelect(const Register& rd, | 1162 void Assembler::ConditionalSelect(const Register& rd, |
1163 const Register& rn, | 1163 const Register& rn, |
1164 const Register& rm, | 1164 const Register& rm, |
1165 Condition cond, | 1165 Condition cond, |
1166 ConditionalSelectOp op) { | 1166 ConditionalSelectOp op) { |
1167 ASSERT(rd.SizeInBits() == rn.SizeInBits()); | 1167 ASSERT(rd.SizeInBits() == rn.SizeInBits()); |
1168 ASSERT(rd.SizeInBits() == rm.SizeInBits()); | 1168 ASSERT(rd.SizeInBits() == rm.SizeInBits()); |
(...skipping 1738 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2907 adr(rd, 0); | 2907 adr(rd, 0); |
2908 MovInt64(scratch, target_offset); | 2908 MovInt64(scratch, target_offset); |
2909 add(rd, rd, scratch); | 2909 add(rd, rd, scratch); |
2910 } | 2910 } |
2911 } | 2911 } |
2912 | 2912 |
2913 | 2913 |
2914 } } // namespace v8::internal | 2914 } } // namespace v8::internal |
2915 | 2915 |
2916 #endif // V8_TARGET_ARCH_ARM64 | 2916 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |