| 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 |