@@ -30,7 +30,7 @@ define void @test_i64_v2f32(ptr %p, ptr %q) {
3030; CHECK: ld1 { v{{[0-9]+}}.2s }
3131; CHECK: rev64 v{{[0-9]+}}.2s
3232; CHECK: str
33- %1 = load <2 x float >, ptr %p
33+ %1 = load volatile <2 x float >, ptr %p
3434 %2 = fadd <2 x float > %1 , %1
3535 %3 = bitcast <2 x float > %2 to i64
3636 %4 = add i64 %3 , %3
@@ -43,7 +43,7 @@ define void @test_i64_v2i32(ptr %p, ptr %q) {
4343; CHECK: ld1 { v{{[0-9]+}}.2s }
4444; CHECK: rev64 v{{[0-9]+}}.2s
4545; CHECK: str
46- %1 = load <2 x i32 >, ptr %p
46+ %1 = load volatile <2 x i32 >, ptr %p
4747 %2 = add <2 x i32 > %1 , %1
4848 %3 = bitcast <2 x i32 > %2 to i64
4949 %4 = add i64 %3 , %3
@@ -121,7 +121,7 @@ define void @test_f64_v2f32(ptr %p, ptr %q) {
121121; CHECK: ld1 { v{{[0-9]+}}.2s }
122122; CHECK: rev64 v{{[0-9]+}}.2s
123123; CHECK: str
124- %1 = load <2 x float >, ptr %p
124+ %1 = load volatile <2 x float >, ptr %p
125125 %2 = fadd <2 x float > %1 , %1
126126 %3 = bitcast <2 x float > %2 to double
127127 %4 = fadd double %3 , %3
@@ -134,7 +134,7 @@ define void @test_f64_v2i32(ptr %p, ptr %q) {
134134; CHECK: ld1 { v{{[0-9]+}}.2s }
135135; CHECK: rev64 v{{[0-9]+}}.2s
136136; CHECK: str
137- %1 = load <2 x i32 >, ptr %p
137+ %1 = load volatile <2 x i32 >, ptr %p
138138 %2 = add <2 x i32 > %1 , %1
139139 %3 = bitcast <2 x i32 > %2 to double
140140 %4 = fadd double %3 , %3
@@ -213,7 +213,7 @@ define void @test_v1i64_v2f32(ptr %p, ptr %q) {
213213; CHECK: ld1 { v{{[0-9]+}}.2s }
214214; CHECK: rev64 v{{[0-9]+}}.2s
215215; CHECK: str
216- %1 = load <2 x float >, ptr %p
216+ %1 = load volatile <2 x float >, ptr %p
217217 %2 = fadd <2 x float > %1 , %1
218218 %3 = bitcast <2 x float > %2 to <1 x i64 >
219219 %4 = add <1 x i64 > %3 , %3
@@ -226,7 +226,7 @@ define void @test_v1i64_v2i32(ptr %p, ptr %q) {
226226; CHECK: ld1 { v{{[0-9]+}}.2s }
227227; CHECK: rev64 v{{[0-9]+}}.2s
228228; CHECK: str
229- %1 = load <2 x i32 >, ptr %p
229+ %1 = load volatile <2 x i32 >, ptr %p
230230 %2 = add <2 x i32 > %1 , %1
231231 %3 = bitcast <2 x i32 > %2 to <1 x i64 >
232232 %4 = add <1 x i64 > %3 , %3
@@ -318,7 +318,7 @@ define void @test_v2f32_v1i64(ptr %p, ptr %q) {
318318define void @test_v2f32_v2i32 (ptr %p , ptr %q ) {
319319; CHECK: ld1 { v{{[0-9]+}}.2s }
320320; CHECK: st1 { v{{[0-9]+}}.2s }
321- %1 = load <2 x i32 >, ptr %p
321+ %1 = load volatile <2 x i32 >, ptr %p
322322 %2 = add <2 x i32 > %1 , %1
323323 %3 = bitcast <2 x i32 > %2 to <2 x float >
324324 %4 = fadd <2 x float > %3 , %3
@@ -410,7 +410,7 @@ define void @test_v2i32_v1i64(ptr %p, ptr %q) {
410410define void @test_v2i32_v2f32 (ptr %p , ptr %q ) {
411411; CHECK: ld1 { v{{[0-9]+}}.2s }
412412; CHECK: st1 { v{{[0-9]+}}.2s }
413- %1 = load <2 x float >, ptr %p
413+ %1 = load volatile <2 x float >, ptr %p
414414 %2 = fadd <2 x float > %1 , %1
415415 %3 = bitcast <2 x float > %2 to <2 x i32 >
416416 %4 = add <2 x i32 > %3 , %3
@@ -488,7 +488,7 @@ define void @test_v4i16_v2f32(ptr %p, ptr %q) {
488488; CHECK: ld1 { v{{[0-9]+}}.2s }
489489; CHECK: rev32 v{{[0-9]+}}.4h
490490; CHECK: st1 { v{{[0-9]+}}.4h }
491- %1 = load <2 x float >, ptr %p
491+ %1 = load volatile <2 x float >, ptr %p
492492 %2 = fadd <2 x float > %1 , %1
493493 %3 = bitcast <2 x float > %2 to <4 x i16 >
494494 %4 = add <4 x i16 > %3 , %3
@@ -501,7 +501,7 @@ define void @test_v4i16_v2i32(ptr %p, ptr %q) {
501501; CHECK: ld1 { v{{[0-9]+}}.2s }
502502; CHECK: rev32 v{{[0-9]+}}.4h
503503; CHECK: st1 { v{{[0-9]+}}.4h }
504- %1 = load <2 x i32 >, ptr %p
504+ %1 = load volatile <2 x i32 >, ptr %p
505505 %2 = add <2 x i32 > %1 , %1
506506 %3 = bitcast <2 x i32 > %2 to <4 x i16 >
507507 %4 = add <4 x i16 > %3 , %3
@@ -587,7 +587,7 @@ define void @test_v4f16_v2f32(ptr %p, ptr %q) {
587587; CHECK: fadd
588588; CHECK-NOT: rev
589589; CHECK: st1 { v{{[0-9]+}}.4h }
590- %1 = load <2 x float >, ptr %p
590+ %1 = load volatile <2 x float >, ptr %p
591591 %2 = fadd <2 x float > %1 , %1
592592 %3 = bitcast <2 x float > %2 to <4 x half >
593593 %4 = fadd <4 x half > %3 , %3
@@ -602,7 +602,7 @@ define void @test_v4f16_v2i32(ptr %p, ptr %q) {
602602; CHECK: fadd
603603; CHECK-NOT: rev
604604; CHECK: st1 { v{{[0-9]+}}.4h }
605- %1 = load <2 x i32 >, ptr %p
605+ %1 = load volatile <2 x i32 >, ptr %p
606606 %2 = add <2 x i32 > %1 , %1
607607 %3 = bitcast <2 x i32 > %2 to <4 x half >
608608 %4 = fadd <4 x half > %3 , %3
@@ -682,7 +682,7 @@ define void @test_v8i8_v2f32(ptr %p, ptr %q) {
682682; CHECK: ld1 { v{{[0-9]+}}.2s }
683683; CHECK: rev32 v{{[0-9]+}}.8b
684684; CHECK: st1 { v{{[0-9]+}}.8b }
685- %1 = load <2 x float >, ptr %p
685+ %1 = load volatile <2 x float >, ptr %p
686686 %2 = fadd <2 x float > %1 , %1
687687 %3 = bitcast <2 x float > %2 to <8 x i8 >
688688 %4 = add <8 x i8 > %3 , %3
@@ -695,7 +695,7 @@ define void @test_v8i8_v2i32(ptr %p, ptr %q) {
695695; CHECK: ld1 { v{{[0-9]+}}.2s }
696696; CHECK: rev32 v{{[0-9]+}}.8b
697697; CHECK: st1 { v{{[0-9]+}}.8b }
698- %1 = load <2 x i32 >, ptr %p
698+ %1 = load volatile <2 x i32 >, ptr %p
699699 %2 = add <2 x i32 > %1 , %1
700700 %3 = bitcast <2 x i32 > %2 to <8 x i8 >
701701 %4 = add <8 x i8 > %3 , %3
@@ -721,7 +721,7 @@ define void @test_f128_v2f64(ptr %p, ptr %q) {
721721; CHECK: ld1 { v{{[0-9]+}}.2d }
722722; CHECK: ext
723723; CHECK: str
724- %1 = load <2 x double >, ptr %p
724+ %1 = load volatile <2 x double >, ptr %p
725725 %2 = fadd <2 x double > %1 , %1
726726 %3 = bitcast <2 x double > %2 to fp128
727727 %4 = fadd fp128 %3 , %3
@@ -734,7 +734,7 @@ define void @test_f128_v2i64(ptr %p, ptr %q) {
734734; CHECK: ld1 { v{{[0-9]+}}.2d }
735735; CHECK: ext
736736; CHECK: str
737- %1 = load <2 x i64 >, ptr %p
737+ %1 = load volatile <2 x i64 >, ptr %p
738738 %2 = add <2 x i64 > %1 , %1
739739 %3 = bitcast <2 x i64 > %2 to fp128
740740 %4 = fadd fp128 %3 , %3
@@ -816,7 +816,7 @@ define void @test_v2f64_f128(ptr %p, ptr %q) {
816816define void @test_v2f64_v2i64 (ptr %p , ptr %q ) {
817817; CHECK: ld1 { v{{[0-9]+}}.2d }
818818; CHECK: st1 { v{{[0-9]+}}.2d }
819- %1 = load <2 x i64 >, ptr %p
819+ %1 = load volatile <2 x i64 >, ptr %p
820820 %2 = add <2 x i64 > %1 , %1
821821 %3 = bitcast <2 x i64 > %2 to <2 x double >
822822 %4 = fadd <2 x double > %3 , %3
@@ -895,7 +895,7 @@ define void @test_v2i64_f128(ptr %p, ptr %q) {
895895define void @test_v2i64_v2f64 (ptr %p , ptr %q ) {
896896; CHECK: ld1 { v{{[0-9]+}}.2d }
897897; CHECK: st1 { v{{[0-9]+}}.2d }
898- %1 = load <2 x double >, ptr %p
898+ %1 = load volatile <2 x double >, ptr %p
899899 %2 = fadd <2 x double > %1 , %1
900900 %3 = bitcast <2 x double > %2 to <2 x i64 >
901901 %4 = add <2 x i64 > %3 , %3
@@ -979,7 +979,7 @@ define void @test_v4f32_v2f64(ptr %p, ptr %q) {
979979; CHECK: rev64 v{{[0-9]+}}.4s
980980; CHECK-NOT: rev
981981; CHECK: st1 { v{{[0-9]+}}.4s }
982- %1 = load <2 x double >, ptr %p
982+ %1 = load volatile <2 x double >, ptr %p
983983 %2 = fadd <2 x double > %1 , %1
984984 %3 = bitcast <2 x double > %2 to <4 x float >
985985 %4 = fadd <4 x float > %3 , %3
@@ -994,7 +994,7 @@ define void @test_v4f32_v2i64(ptr %p, ptr %q) {
994994; CHECK: fadd
995995; CHECK-NOT: rev
996996; CHECK: st1 { v{{[0-9]+}}.4s }
997- %1 = load <2 x i64 >, ptr %p
997+ %1 = load volatile <2 x i64 >, ptr %p
998998 %2 = add <2 x i64 > %1 , %1
999999 %3 = bitcast <2 x i64 > %2 to <4 x float >
10001000 %4 = fadd <4 x float > %3 , %3
@@ -1062,7 +1062,7 @@ define void @test_v4i32_v2f64(ptr %p, ptr %q) {
10621062; CHECK: ld1 { v{{[0-9]+}}.2d }
10631063; CHECK: rev64 v{{[0-9]+}}.4s
10641064; CHECK: st1 { v{{[0-9]+}}.4s }
1065- %1 = load <2 x double >, ptr %p
1065+ %1 = load volatile <2 x double >, ptr %p
10661066 %2 = fadd <2 x double > %1 , %1
10671067 %3 = bitcast <2 x double > %2 to <4 x i32 >
10681068 %4 = add <4 x i32 > %3 , %3
@@ -1075,7 +1075,7 @@ define void @test_v4i32_v2i64(ptr %p, ptr %q) {
10751075; CHECK: ld1 { v{{[0-9]+}}.2d }
10761076; CHECK: rev64 v{{[0-9]+}}.4s
10771077; CHECK: st1 { v{{[0-9]+}}.4s }
1078- %1 = load <2 x i64 >, ptr %p
1078+ %1 = load volatile <2 x i64 >, ptr %p
10791079 %2 = add <2 x i64 > %1 , %1
10801080 %3 = bitcast <2 x i64 > %2 to <4 x i32 >
10811081 %4 = add <4 x i32 > %3 , %3
@@ -1141,7 +1141,7 @@ define void @test_v8i16_v2f64(ptr %p, ptr %q) {
11411141; CHECK: ld1 { v{{[0-9]+}}.2d }
11421142; CHECK: rev64 v{{[0-9]+}}.8h
11431143; CHECK: st1 { v{{[0-9]+}}.8h }
1144- %1 = load <2 x double >, ptr %p
1144+ %1 = load volatile <2 x double >, ptr %p
11451145 %2 = fadd <2 x double > %1 , %1
11461146 %3 = bitcast <2 x double > %2 to <8 x i16 >
11471147 %4 = add <8 x i16 > %3 , %3
@@ -1154,7 +1154,7 @@ define void @test_v8i16_v2i64(ptr %p, ptr %q) {
11541154; CHECK: ld1 { v{{[0-9]+}}.2d }
11551155; CHECK: rev64 v{{[0-9]+}}.8h
11561156; CHECK: st1 { v{{[0-9]+}}.8h }
1157- %1 = load <2 x i64 >, ptr %p
1157+ %1 = load volatile <2 x i64 >, ptr %p
11581158 %2 = add <2 x i64 > %1 , %1
11591159 %3 = bitcast <2 x i64 > %2 to <8 x i16 >
11601160 %4 = add <8 x i16 > %3 , %3
@@ -1234,7 +1234,7 @@ define void @test_v16i8_v2f64(ptr %p, ptr %q) {
12341234; CHECK: ld1 { v{{[0-9]+}}.2d }
12351235; CHECK: rev64 v{{[0-9]+}}.16b
12361236; CHECK: st1 { v{{[0-9]+}}.16b }
1237- %1 = load <2 x double >, ptr %p
1237+ %1 = load volatile <2 x double >, ptr %p
12381238 %2 = fadd <2 x double > %1 , %1
12391239 %3 = bitcast <2 x double > %2 to <16 x i8 >
12401240 %4 = add <16 x i8 > %3 , %3
@@ -1247,7 +1247,7 @@ define void @test_v16i8_v2i64(ptr %p, ptr %q) {
12471247; CHECK: ld1 { v{{[0-9]+}}.2d }
12481248; CHECK: rev64 v{{[0-9]+}}.16b
12491249; CHECK: st1 { v{{[0-9]+}}.16b }
1250- %1 = load <2 x i64 >, ptr %p
1250+ %1 = load volatile <2 x i64 >, ptr %p
12511251 %2 = add <2 x i64 > %1 , %1
12521252 %3 = bitcast <2 x i64 > %2 to <16 x i8 >
12531253 %4 = add <16 x i8 > %3 , %3
@@ -1315,7 +1315,7 @@ define %struct.struct1 @test_v4f16_struct(ptr %ret) {
13151315entry:
13161316; CHECK: ld1 { {{v[0-9]+}}.4h }
13171317; CHECK-NOT: rev
1318- %0 = load <4 x half >, ptr %ret , align 2
1318+ %0 = load volatile <4 x half >, ptr %ret , align 2
13191319 %1 = extractelement <4 x half > %0 , i32 0
13201320 %.fca.0.insert = insertvalue %struct.struct1 undef , half %1 , 0
13211321 ret %struct.struct1 %.fca.0.insert
0 commit comments