Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: src/compiler/s390/instruction-selector-s390.cc

Issue 2919203002: [WASM] Eliminate SIMD boolean vector types. (Closed)
Patch Set: Restore DCHECKs in AssembleMove/Swap now that we're back to 1 SIMD representation. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/representation-change.cc ('k') | src/compiler/simd-scalar-lowering.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/base/adapters.h" 5 #include "src/base/adapters.h"
6 #include "src/compiler/instruction-selector-impl.h" 6 #include "src/compiler/instruction-selector-impl.h"
7 #include "src/compiler/node-matchers.h" 7 #include "src/compiler/node-matchers.h"
8 #include "src/compiler/node-properties.h" 8 #include "src/compiler/node-properties.h"
9 #include "src/s390/frames-s390.h" 9 #include "src/s390/frames-s390.h"
10 10
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 case MachineRepresentation::kTaggedSigned: // Fall through. 300 case MachineRepresentation::kTaggedSigned: // Fall through.
301 case MachineRepresentation::kTaggedPointer: // Fall through. 301 case MachineRepresentation::kTaggedPointer: // Fall through.
302 case MachineRepresentation::kTagged: // Fall through. 302 case MachineRepresentation::kTagged: // Fall through.
303 case MachineRepresentation::kWord64: 303 case MachineRepresentation::kWord64:
304 opcode = kS390_LoadWord64; 304 opcode = kS390_LoadWord64;
305 break; 305 break;
306 #else 306 #else
307 case MachineRepresentation::kWord64: // Fall through. 307 case MachineRepresentation::kWord64: // Fall through.
308 #endif 308 #endif
309 case MachineRepresentation::kSimd128: // Fall through. 309 case MachineRepresentation::kSimd128: // Fall through.
310 case MachineRepresentation::kSimd1x4: // Fall through.
311 case MachineRepresentation::kSimd1x8: // Fall through.
312 case MachineRepresentation::kSimd1x16: // Fall through.
313 case MachineRepresentation::kNone: 310 case MachineRepresentation::kNone:
314 default: 311 default:
315 UNREACHABLE(); 312 UNREACHABLE();
316 } 313 }
317 return opcode; 314 return opcode;
318 } 315 }
319 316
320 #define RESULT_IS_WORD32_LIST(V) \ 317 #define RESULT_IS_WORD32_LIST(V) \
321 /* Float unary op*/ \ 318 /* Float unary op*/ \
322 V(BitcastFloat32ToInt32) \ 319 V(BitcastFloat32ToInt32) \
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after
813 opcode = kS390_StoreWord64; 810 opcode = kS390_StoreWord64;
814 if (m.IsWord64ReverseBytes()) { 811 if (m.IsWord64ReverseBytes()) {
815 opcode = kS390_StoreReverse64; 812 opcode = kS390_StoreReverse64;
816 value = value->InputAt(0); 813 value = value->InputAt(0);
817 } 814 }
818 break; 815 break;
819 #else 816 #else
820 case MachineRepresentation::kWord64: // Fall through. 817 case MachineRepresentation::kWord64: // Fall through.
821 #endif 818 #endif
822 case MachineRepresentation::kSimd128: // Fall through. 819 case MachineRepresentation::kSimd128: // Fall through.
823 case MachineRepresentation::kSimd1x4: // Fall through.
824 case MachineRepresentation::kSimd1x8: // Fall through.
825 case MachineRepresentation::kSimd1x16: // Fall through.
826 case MachineRepresentation::kNone: 820 case MachineRepresentation::kNone:
827 UNREACHABLE(); 821 UNREACHABLE();
828 return; 822 return;
829 } 823 }
830 InstructionOperand inputs[4]; 824 InstructionOperand inputs[4];
831 size_t input_count = 0; 825 size_t input_count = 0;
832 AddressingMode addressing_mode = 826 AddressingMode addressing_mode =
833 g.GetEffectiveAddressMemoryOperand(node, inputs, &input_count); 827 g.GetEffectiveAddressMemoryOperand(node, inputs, &input_count);
834 InstructionCode code = 828 InstructionCode code =
835 opcode | AddressingModeField::encode(addressing_mode); 829 opcode | AddressingModeField::encode(addressing_mode);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
880 opcode = kCheckedLoadFloat64; 874 opcode = kCheckedLoadFloat64;
881 break; 875 break;
882 case MachineRepresentation::kBit: // Fall through. 876 case MachineRepresentation::kBit: // Fall through.
883 case MachineRepresentation::kTaggedSigned: // Fall through. 877 case MachineRepresentation::kTaggedSigned: // Fall through.
884 case MachineRepresentation::kTaggedPointer: // Fall through. 878 case MachineRepresentation::kTaggedPointer: // Fall through.
885 case MachineRepresentation::kTagged: // Fall through. 879 case MachineRepresentation::kTagged: // Fall through.
886 #if !V8_TARGET_ARCH_S390X 880 #if !V8_TARGET_ARCH_S390X
887 case MachineRepresentation::kWord64: // Fall through. 881 case MachineRepresentation::kWord64: // Fall through.
888 #endif 882 #endif
889 case MachineRepresentation::kSimd128: // Fall through. 883 case MachineRepresentation::kSimd128: // Fall through.
890 case MachineRepresentation::kSimd1x4: // Fall through.
891 case MachineRepresentation::kSimd1x8: // Fall through.
892 case MachineRepresentation::kSimd1x16: // Fall through.
893 case MachineRepresentation::kNone: 884 case MachineRepresentation::kNone:
894 UNREACHABLE(); 885 UNREACHABLE();
895 return; 886 return;
896 } 887 }
897 AddressingMode addressingMode = kMode_MRR; 888 AddressingMode addressingMode = kMode_MRR;
898 Emit(opcode | AddressingModeField::encode(addressingMode), 889 Emit(opcode | AddressingModeField::encode(addressingMode),
899 g.DefineAsRegister(node), g.UseRegister(base), g.UseRegister(offset), 890 g.DefineAsRegister(node), g.UseRegister(base), g.UseRegister(offset),
900 g.UseOperand(length, OperandMode::kUint32Imm)); 891 g.UseOperand(length, OperandMode::kUint32Imm));
901 } 892 }
902 893
(...skipping 27 matching lines...) Expand all
930 opcode = kCheckedStoreFloat64; 921 opcode = kCheckedStoreFloat64;
931 break; 922 break;
932 case MachineRepresentation::kBit: // Fall through. 923 case MachineRepresentation::kBit: // Fall through.
933 case MachineRepresentation::kTaggedSigned: // Fall through. 924 case MachineRepresentation::kTaggedSigned: // Fall through.
934 case MachineRepresentation::kTaggedPointer: // Fall through. 925 case MachineRepresentation::kTaggedPointer: // Fall through.
935 case MachineRepresentation::kTagged: // Fall through. 926 case MachineRepresentation::kTagged: // Fall through.
936 #if !V8_TARGET_ARCH_S390X 927 #if !V8_TARGET_ARCH_S390X
937 case MachineRepresentation::kWord64: // Fall through. 928 case MachineRepresentation::kWord64: // Fall through.
938 #endif 929 #endif
939 case MachineRepresentation::kSimd128: // Fall through. 930 case MachineRepresentation::kSimd128: // Fall through.
940 case MachineRepresentation::kSimd1x4: // Fall through.
941 case MachineRepresentation::kSimd1x8: // Fall through.
942 case MachineRepresentation::kSimd1x16: // Fall through.
943 case MachineRepresentation::kNone: 931 case MachineRepresentation::kNone:
944 UNREACHABLE(); 932 UNREACHABLE();
945 return; 933 return;
946 } 934 }
947 AddressingMode addressingMode = kMode_MRR; 935 AddressingMode addressingMode = kMode_MRR;
948 Emit(opcode | AddressingModeField::encode(addressingMode), g.NoOutput(), 936 Emit(opcode | AddressingModeField::encode(addressingMode), g.NoOutput(),
949 g.UseRegister(base), g.UseRegister(offset), 937 g.UseRegister(base), g.UseRegister(offset),
950 g.UseOperand(length, OperandMode::kUint32Imm), g.UseRegister(value)); 938 g.UseOperand(length, OperandMode::kUint32Imm), g.UseRegister(value));
951 } 939 }
952 940
(...skipping 1556 matching lines...) Expand 10 before | Expand all | Expand 10 after
2509 // static 2497 // static
2510 MachineOperatorBuilder::AlignmentRequirements 2498 MachineOperatorBuilder::AlignmentRequirements
2511 InstructionSelector::AlignmentRequirements() { 2499 InstructionSelector::AlignmentRequirements() {
2512 return MachineOperatorBuilder::AlignmentRequirements:: 2500 return MachineOperatorBuilder::AlignmentRequirements::
2513 FullUnalignedAccessSupport(); 2501 FullUnalignedAccessSupport();
2514 } 2502 }
2515 2503
2516 } // namespace compiler 2504 } // namespace compiler
2517 } // namespace internal 2505 } // namespace internal
2518 } // namespace v8 2506 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/representation-change.cc ('k') | src/compiler/simd-scalar-lowering.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698