Changeset 219899 in webkit for trunk/Source/JavaScriptCore/b3
- Timestamp:
- Jul 25, 2017, 7:23:01 PM (8 years ago)
- Location:
- trunk/Source/JavaScriptCore/b3
- Files:
-
- 2 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); -
trunk/Source/JavaScriptCore/b3/air/AirOpcode.opcodes
r217127 r219899 650 650 Addr, Addr, Tmp 651 651 652 # FIXME: StoreZero32 and StoreZero64 are hacks on ARM64, we can do better: https://bugs.webkit.org/show_bug.cgi?id=174821 652 653 StoreZero32 D:G:32 654 Addr 655 Index 656 657 64: StoreZero64 D:G:64 653 658 Addr 654 659 Index
Note:
See TracChangeset
for help on using the changeset viewer.