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

Side by Side Diff: test/unittests/compiler/mips/instruction-selector-mips-unittest.cc

Issue 1513383003: [turbofan] Store nodes use only MachineRepresentation, not MachineType. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: please mips64 Created 5 years 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
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 "test/unittests/compiler/instruction-selector-unittest.h" 5 #include "test/unittests/compiler/instruction-selector-unittest.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 namespace compiler { 9 namespace compiler {
10 10
(...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after
873 ASSERT_EQ(1U, s.size()); 873 ASSERT_EQ(1U, s.size());
874 EXPECT_EQ(memacc.load_opcode, s[0]->arch_opcode()); 874 EXPECT_EQ(memacc.load_opcode, s[0]->arch_opcode());
875 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode()); 875 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode());
876 } 876 }
877 877
878 878
879 TEST_P(InstructionSelectorMemoryAccessTest, StoreWithParameters) { 879 TEST_P(InstructionSelectorMemoryAccessTest, StoreWithParameters) {
880 const MemoryAccess memacc = GetParam(); 880 const MemoryAccess memacc = GetParam();
881 StreamBuilder m(this, MachineType::Int32(), MachineType::Pointer(), 881 StreamBuilder m(this, MachineType::Int32(), MachineType::Pointer(),
882 MachineType::Int32(), memacc.type); 882 MachineType::Int32(), memacc.type);
883 m.Store(memacc.type, m.Parameter(0), m.Parameter(1), kNoWriteBarrier); 883 m.Store(memacc.type.representation(), m.Parameter(0), m.Parameter(1),
884 kNoWriteBarrier);
884 m.Return(m.Int32Constant(0)); 885 m.Return(m.Int32Constant(0));
885 Stream s = m.Build(); 886 Stream s = m.Build();
886 ASSERT_EQ(1U, s.size()); 887 ASSERT_EQ(1U, s.size());
887 EXPECT_EQ(memacc.store_opcode, s[0]->arch_opcode()); 888 EXPECT_EQ(memacc.store_opcode, s[0]->arch_opcode());
888 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode()); 889 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode());
889 } 890 }
890 891
891 892
892 INSTANTIATE_TEST_CASE_P(InstructionSelectorTest, 893 INSTANTIATE_TEST_CASE_P(InstructionSelectorTest,
893 InstructionSelectorMemoryAccessTest, 894 InstructionSelectorMemoryAccessTest,
(...skipping 30 matching lines...) Expand all
924 // ---------------------------------------------------------------------------- 925 // ----------------------------------------------------------------------------
925 // Store immediate. 926 // Store immediate.
926 // ---------------------------------------------------------------------------- 927 // ----------------------------------------------------------------------------
927 928
928 929
929 TEST_P(InstructionSelectorMemoryAccessImmTest, StoreWithImmediateIndex) { 930 TEST_P(InstructionSelectorMemoryAccessImmTest, StoreWithImmediateIndex) {
930 const MemoryAccessImm memacc = GetParam(); 931 const MemoryAccessImm memacc = GetParam();
931 TRACED_FOREACH(int32_t, index, memacc.immediates) { 932 TRACED_FOREACH(int32_t, index, memacc.immediates) {
932 StreamBuilder m(this, MachineType::Int32(), MachineType::Pointer(), 933 StreamBuilder m(this, MachineType::Int32(), MachineType::Pointer(),
933 memacc.type); 934 memacc.type);
934 m.Store(memacc.type, m.Parameter(0), m.Int32Constant(index), m.Parameter(1), 935 m.Store(memacc.type.representation(), m.Parameter(0),
935 kNoWriteBarrier); 936 m.Int32Constant(index), m.Parameter(1), kNoWriteBarrier);
936 m.Return(m.Int32Constant(0)); 937 m.Return(m.Int32Constant(0));
937 Stream s = m.Build(); 938 Stream s = m.Build();
938 ASSERT_EQ(1U, s.size()); 939 ASSERT_EQ(1U, s.size());
939 EXPECT_EQ(memacc.store_opcode, s[0]->arch_opcode()); 940 EXPECT_EQ(memacc.store_opcode, s[0]->arch_opcode());
940 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode()); 941 EXPECT_EQ(kMode_MRI, s[0]->addressing_mode());
941 ASSERT_EQ(3U, s[0]->InputCount()); 942 ASSERT_EQ(3U, s[0]->InputCount());
942 ASSERT_EQ(InstructionOperand::IMMEDIATE, s[0]->InputAt(1)->kind()); 943 ASSERT_EQ(InstructionOperand::IMMEDIATE, s[0]->InputAt(1)->kind());
943 EXPECT_EQ(index, s.ToInt32(s[0]->InputAt(1))); 944 EXPECT_EQ(index, s.ToInt32(s[0]->InputAt(1)));
944 EXPECT_EQ(0U, s[0]->OutputCount()); 945 EXPECT_EQ(0U, s[0]->OutputCount());
945 } 946 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 } 978 }
978 } 979 }
979 980
980 981
981 TEST_P(InstructionSelectorMemoryAccessImmMoreThan16bitTest, 982 TEST_P(InstructionSelectorMemoryAccessImmMoreThan16bitTest,
982 StoreWithImmediateIndex) { 983 StoreWithImmediateIndex) {
983 const MemoryAccessImm1 memacc = GetParam(); 984 const MemoryAccessImm1 memacc = GetParam();
984 TRACED_FOREACH(int32_t, index, memacc.immediates) { 985 TRACED_FOREACH(int32_t, index, memacc.immediates) {
985 StreamBuilder m(this, MachineType::Int32(), MachineType::Pointer(), 986 StreamBuilder m(this, MachineType::Int32(), MachineType::Pointer(),
986 memacc.type); 987 memacc.type);
987 m.Store(memacc.type, m.Parameter(0), m.Int32Constant(index), m.Parameter(1), 988 m.Store(memacc.type.representation(), m.Parameter(0),
988 kNoWriteBarrier); 989 m.Int32Constant(index), m.Parameter(1), kNoWriteBarrier);
989 m.Return(m.Int32Constant(0)); 990 m.Return(m.Int32Constant(0));
990 Stream s = m.Build(); 991 Stream s = m.Build();
991 ASSERT_EQ(2U, s.size()); 992 ASSERT_EQ(2U, s.size());
992 // kMipsAdd is expected opcode 993 // kMipsAdd is expected opcode
993 // size more than 16 bits wide 994 // size more than 16 bits wide
994 EXPECT_EQ(kMipsAdd, s[0]->arch_opcode()); 995 EXPECT_EQ(kMipsAdd, s[0]->arch_opcode());
995 EXPECT_EQ(kMode_None, s[0]->addressing_mode()); 996 EXPECT_EQ(kMode_None, s[0]->addressing_mode());
996 EXPECT_EQ(2U, s[0]->InputCount()); 997 EXPECT_EQ(2U, s[0]->InputCount());
997 EXPECT_EQ(1U, s[0]->OutputCount()); 998 EXPECT_EQ(1U, s[0]->OutputCount());
998 } 999 }
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
1146 EXPECT_EQ(kMipsFloat64Min, s[0]->arch_opcode()); 1147 EXPECT_EQ(kMipsFloat64Min, s[0]->arch_opcode());
1147 ASSERT_EQ(2U, s[0]->InputCount()); 1148 ASSERT_EQ(2U, s[0]->InputCount());
1148 ASSERT_EQ(1U, s[0]->OutputCount()); 1149 ASSERT_EQ(1U, s[0]->OutputCount());
1149 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output())); 1150 EXPECT_EQ(s.ToVreg(n), s.ToVreg(s[0]->Output()));
1150 } 1151 }
1151 1152
1152 1153
1153 } // namespace compiler 1154 } // namespace compiler
1154 } // namespace internal 1155 } // namespace internal
1155 } // namespace v8 1156 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698