Changeset 219899 in webkit for trunk/Source/JavaScriptCore/b3/B3LowerToAir.cpp
- Timestamp:
- Jul 25, 2017, 7:23:01 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/b3/B3LowerToAir.cpp
r219702 r219899 1019 1019 Inst createStore(Air::Kind move, Value* value, const Arg& dest) 1020 1020 { 1021 if (imm(value) && isValidForm(move.opcode, Arg::Imm, dest.kind())) 1022 return Inst(move, m_value, imm(value), dest); 1021 if (auto imm_value = imm(value)) { 1022 if (isARM64() && imm_value.value() == 0) { 1023 switch (move.opcode) { 1024 default: 1025 break; 1026 case Air::Move32: 1027 if (isValidForm(StoreZero32, dest.kind()) && dest.isValidForm(Width32)) 1028 return Inst(StoreZero32, m_value, dest); 1029 break; 1030 case Air::Move: 1031 if (isValidForm(StoreZero64, dest.kind()) && dest.isValidForm(Width64)) 1032 return Inst(StoreZero64, m_value, dest); 1033 break; 1034 } 1035 } 1036 if (isValidForm(move.opcode, Arg::Imm, dest.kind())) 1037 return Inst(move, m_value, imm_value, dest); 1038 } 1023 1039 1024 1040 return Inst(move, m_value, tmp(value), dest);
Note:
See TracChangeset
for help on using the changeset viewer.