@@ -30,7 +30,7 @@ define void @test_i64_v2f32(ptr %p, ptr %q) {
30
30
; CHECK: ld1 { v{{[0-9]+}}.2s }
31
31
; CHECK: rev64 v{{[0-9]+}}.2s
32
32
; CHECK: str
33
- %1 = load <2 x float >, ptr %p
33
+ %1 = load volatile <2 x float >, ptr %p
34
34
%2 = fadd <2 x float > %1 , %1
35
35
%3 = bitcast <2 x float > %2 to i64
36
36
%4 = add i64 %3 , %3
@@ -43,7 +43,7 @@ define void @test_i64_v2i32(ptr %p, ptr %q) {
43
43
; CHECK: ld1 { v{{[0-9]+}}.2s }
44
44
; CHECK: rev64 v{{[0-9]+}}.2s
45
45
; CHECK: str
46
- %1 = load <2 x i32 >, ptr %p
46
+ %1 = load volatile <2 x i32 >, ptr %p
47
47
%2 = add <2 x i32 > %1 , %1
48
48
%3 = bitcast <2 x i32 > %2 to i64
49
49
%4 = add i64 %3 , %3
@@ -121,7 +121,7 @@ define void @test_f64_v2f32(ptr %p, ptr %q) {
121
121
; CHECK: ld1 { v{{[0-9]+}}.2s }
122
122
; CHECK: rev64 v{{[0-9]+}}.2s
123
123
; CHECK: str
124
- %1 = load <2 x float >, ptr %p
124
+ %1 = load volatile <2 x float >, ptr %p
125
125
%2 = fadd <2 x float > %1 , %1
126
126
%3 = bitcast <2 x float > %2 to double
127
127
%4 = fadd double %3 , %3
@@ -134,7 +134,7 @@ define void @test_f64_v2i32(ptr %p, ptr %q) {
134
134
; CHECK: ld1 { v{{[0-9]+}}.2s }
135
135
; CHECK: rev64 v{{[0-9]+}}.2s
136
136
; CHECK: str
137
- %1 = load <2 x i32 >, ptr %p
137
+ %1 = load volatile <2 x i32 >, ptr %p
138
138
%2 = add <2 x i32 > %1 , %1
139
139
%3 = bitcast <2 x i32 > %2 to double
140
140
%4 = fadd double %3 , %3
@@ -213,7 +213,7 @@ define void @test_v1i64_v2f32(ptr %p, ptr %q) {
213
213
; CHECK: ld1 { v{{[0-9]+}}.2s }
214
214
; CHECK: rev64 v{{[0-9]+}}.2s
215
215
; CHECK: str
216
- %1 = load <2 x float >, ptr %p
216
+ %1 = load volatile <2 x float >, ptr %p
217
217
%2 = fadd <2 x float > %1 , %1
218
218
%3 = bitcast <2 x float > %2 to <1 x i64 >
219
219
%4 = add <1 x i64 > %3 , %3
@@ -226,7 +226,7 @@ define void @test_v1i64_v2i32(ptr %p, ptr %q) {
226
226
; CHECK: ld1 { v{{[0-9]+}}.2s }
227
227
; CHECK: rev64 v{{[0-9]+}}.2s
228
228
; CHECK: str
229
- %1 = load <2 x i32 >, ptr %p
229
+ %1 = load volatile <2 x i32 >, ptr %p
230
230
%2 = add <2 x i32 > %1 , %1
231
231
%3 = bitcast <2 x i32 > %2 to <1 x i64 >
232
232
%4 = add <1 x i64 > %3 , %3
@@ -318,7 +318,7 @@ define void @test_v2f32_v1i64(ptr %p, ptr %q) {
318
318
define void @test_v2f32_v2i32 (ptr %p , ptr %q ) {
319
319
; CHECK: ld1 { v{{[0-9]+}}.2s }
320
320
; CHECK: st1 { v{{[0-9]+}}.2s }
321
- %1 = load <2 x i32 >, ptr %p
321
+ %1 = load volatile <2 x i32 >, ptr %p
322
322
%2 = add <2 x i32 > %1 , %1
323
323
%3 = bitcast <2 x i32 > %2 to <2 x float >
324
324
%4 = fadd <2 x float > %3 , %3
@@ -410,7 +410,7 @@ define void @test_v2i32_v1i64(ptr %p, ptr %q) {
410
410
define void @test_v2i32_v2f32 (ptr %p , ptr %q ) {
411
411
; CHECK: ld1 { v{{[0-9]+}}.2s }
412
412
; CHECK: st1 { v{{[0-9]+}}.2s }
413
- %1 = load <2 x float >, ptr %p
413
+ %1 = load volatile <2 x float >, ptr %p
414
414
%2 = fadd <2 x float > %1 , %1
415
415
%3 = bitcast <2 x float > %2 to <2 x i32 >
416
416
%4 = add <2 x i32 > %3 , %3
@@ -488,7 +488,7 @@ define void @test_v4i16_v2f32(ptr %p, ptr %q) {
488
488
; CHECK: ld1 { v{{[0-9]+}}.2s }
489
489
; CHECK: rev32 v{{[0-9]+}}.4h
490
490
; CHECK: st1 { v{{[0-9]+}}.4h }
491
- %1 = load <2 x float >, ptr %p
491
+ %1 = load volatile <2 x float >, ptr %p
492
492
%2 = fadd <2 x float > %1 , %1
493
493
%3 = bitcast <2 x float > %2 to <4 x i16 >
494
494
%4 = add <4 x i16 > %3 , %3
@@ -501,7 +501,7 @@ define void @test_v4i16_v2i32(ptr %p, ptr %q) {
501
501
; CHECK: ld1 { v{{[0-9]+}}.2s }
502
502
; CHECK: rev32 v{{[0-9]+}}.4h
503
503
; CHECK: st1 { v{{[0-9]+}}.4h }
504
- %1 = load <2 x i32 >, ptr %p
504
+ %1 = load volatile <2 x i32 >, ptr %p
505
505
%2 = add <2 x i32 > %1 , %1
506
506
%3 = bitcast <2 x i32 > %2 to <4 x i16 >
507
507
%4 = add <4 x i16 > %3 , %3
@@ -587,7 +587,7 @@ define void @test_v4f16_v2f32(ptr %p, ptr %q) {
587
587
; CHECK: fadd
588
588
; CHECK-NOT: rev
589
589
; CHECK: st1 { v{{[0-9]+}}.4h }
590
- %1 = load <2 x float >, ptr %p
590
+ %1 = load volatile <2 x float >, ptr %p
591
591
%2 = fadd <2 x float > %1 , %1
592
592
%3 = bitcast <2 x float > %2 to <4 x half >
593
593
%4 = fadd <4 x half > %3 , %3
@@ -602,7 +602,7 @@ define void @test_v4f16_v2i32(ptr %p, ptr %q) {
602
602
; CHECK: fadd
603
603
; CHECK-NOT: rev
604
604
; CHECK: st1 { v{{[0-9]+}}.4h }
605
- %1 = load <2 x i32 >, ptr %p
605
+ %1 = load volatile <2 x i32 >, ptr %p
606
606
%2 = add <2 x i32 > %1 , %1
607
607
%3 = bitcast <2 x i32 > %2 to <4 x half >
608
608
%4 = fadd <4 x half > %3 , %3
@@ -682,7 +682,7 @@ define void @test_v8i8_v2f32(ptr %p, ptr %q) {
682
682
; CHECK: ld1 { v{{[0-9]+}}.2s }
683
683
; CHECK: rev32 v{{[0-9]+}}.8b
684
684
; CHECK: st1 { v{{[0-9]+}}.8b }
685
- %1 = load <2 x float >, ptr %p
685
+ %1 = load volatile <2 x float >, ptr %p
686
686
%2 = fadd <2 x float > %1 , %1
687
687
%3 = bitcast <2 x float > %2 to <8 x i8 >
688
688
%4 = add <8 x i8 > %3 , %3
@@ -695,7 +695,7 @@ define void @test_v8i8_v2i32(ptr %p, ptr %q) {
695
695
; CHECK: ld1 { v{{[0-9]+}}.2s }
696
696
; CHECK: rev32 v{{[0-9]+}}.8b
697
697
; CHECK: st1 { v{{[0-9]+}}.8b }
698
- %1 = load <2 x i32 >, ptr %p
698
+ %1 = load volatile <2 x i32 >, ptr %p
699
699
%2 = add <2 x i32 > %1 , %1
700
700
%3 = bitcast <2 x i32 > %2 to <8 x i8 >
701
701
%4 = add <8 x i8 > %3 , %3
@@ -721,7 +721,7 @@ define void @test_f128_v2f64(ptr %p, ptr %q) {
721
721
; CHECK: ld1 { v{{[0-9]+}}.2d }
722
722
; CHECK: ext
723
723
; CHECK: str
724
- %1 = load <2 x double >, ptr %p
724
+ %1 = load volatile <2 x double >, ptr %p
725
725
%2 = fadd <2 x double > %1 , %1
726
726
%3 = bitcast <2 x double > %2 to fp128
727
727
%4 = fadd fp128 %3 , %3
@@ -734,7 +734,7 @@ define void @test_f128_v2i64(ptr %p, ptr %q) {
734
734
; CHECK: ld1 { v{{[0-9]+}}.2d }
735
735
; CHECK: ext
736
736
; CHECK: str
737
- %1 = load <2 x i64 >, ptr %p
737
+ %1 = load volatile <2 x i64 >, ptr %p
738
738
%2 = add <2 x i64 > %1 , %1
739
739
%3 = bitcast <2 x i64 > %2 to fp128
740
740
%4 = fadd fp128 %3 , %3
@@ -816,7 +816,7 @@ define void @test_v2f64_f128(ptr %p, ptr %q) {
816
816
define void @test_v2f64_v2i64 (ptr %p , ptr %q ) {
817
817
; CHECK: ld1 { v{{[0-9]+}}.2d }
818
818
; CHECK: st1 { v{{[0-9]+}}.2d }
819
- %1 = load <2 x i64 >, ptr %p
819
+ %1 = load volatile <2 x i64 >, ptr %p
820
820
%2 = add <2 x i64 > %1 , %1
821
821
%3 = bitcast <2 x i64 > %2 to <2 x double >
822
822
%4 = fadd <2 x double > %3 , %3
@@ -895,7 +895,7 @@ define void @test_v2i64_f128(ptr %p, ptr %q) {
895
895
define void @test_v2i64_v2f64 (ptr %p , ptr %q ) {
896
896
; CHECK: ld1 { v{{[0-9]+}}.2d }
897
897
; CHECK: st1 { v{{[0-9]+}}.2d }
898
- %1 = load <2 x double >, ptr %p
898
+ %1 = load volatile <2 x double >, ptr %p
899
899
%2 = fadd <2 x double > %1 , %1
900
900
%3 = bitcast <2 x double > %2 to <2 x i64 >
901
901
%4 = add <2 x i64 > %3 , %3
@@ -979,7 +979,7 @@ define void @test_v4f32_v2f64(ptr %p, ptr %q) {
979
979
; CHECK: rev64 v{{[0-9]+}}.4s
980
980
; CHECK-NOT: rev
981
981
; CHECK: st1 { v{{[0-9]+}}.4s }
982
- %1 = load <2 x double >, ptr %p
982
+ %1 = load volatile <2 x double >, ptr %p
983
983
%2 = fadd <2 x double > %1 , %1
984
984
%3 = bitcast <2 x double > %2 to <4 x float >
985
985
%4 = fadd <4 x float > %3 , %3
@@ -994,7 +994,7 @@ define void @test_v4f32_v2i64(ptr %p, ptr %q) {
994
994
; CHECK: fadd
995
995
; CHECK-NOT: rev
996
996
; CHECK: st1 { v{{[0-9]+}}.4s }
997
- %1 = load <2 x i64 >, ptr %p
997
+ %1 = load volatile <2 x i64 >, ptr %p
998
998
%2 = add <2 x i64 > %1 , %1
999
999
%3 = bitcast <2 x i64 > %2 to <4 x float >
1000
1000
%4 = fadd <4 x float > %3 , %3
@@ -1062,7 +1062,7 @@ define void @test_v4i32_v2f64(ptr %p, ptr %q) {
1062
1062
; CHECK: ld1 { v{{[0-9]+}}.2d }
1063
1063
; CHECK: rev64 v{{[0-9]+}}.4s
1064
1064
; CHECK: st1 { v{{[0-9]+}}.4s }
1065
- %1 = load <2 x double >, ptr %p
1065
+ %1 = load volatile <2 x double >, ptr %p
1066
1066
%2 = fadd <2 x double > %1 , %1
1067
1067
%3 = bitcast <2 x double > %2 to <4 x i32 >
1068
1068
%4 = add <4 x i32 > %3 , %3
@@ -1075,7 +1075,7 @@ define void @test_v4i32_v2i64(ptr %p, ptr %q) {
1075
1075
; CHECK: ld1 { v{{[0-9]+}}.2d }
1076
1076
; CHECK: rev64 v{{[0-9]+}}.4s
1077
1077
; CHECK: st1 { v{{[0-9]+}}.4s }
1078
- %1 = load <2 x i64 >, ptr %p
1078
+ %1 = load volatile <2 x i64 >, ptr %p
1079
1079
%2 = add <2 x i64 > %1 , %1
1080
1080
%3 = bitcast <2 x i64 > %2 to <4 x i32 >
1081
1081
%4 = add <4 x i32 > %3 , %3
@@ -1141,7 +1141,7 @@ define void @test_v8i16_v2f64(ptr %p, ptr %q) {
1141
1141
; CHECK: ld1 { v{{[0-9]+}}.2d }
1142
1142
; CHECK: rev64 v{{[0-9]+}}.8h
1143
1143
; CHECK: st1 { v{{[0-9]+}}.8h }
1144
- %1 = load <2 x double >, ptr %p
1144
+ %1 = load volatile <2 x double >, ptr %p
1145
1145
%2 = fadd <2 x double > %1 , %1
1146
1146
%3 = bitcast <2 x double > %2 to <8 x i16 >
1147
1147
%4 = add <8 x i16 > %3 , %3
@@ -1154,7 +1154,7 @@ define void @test_v8i16_v2i64(ptr %p, ptr %q) {
1154
1154
; CHECK: ld1 { v{{[0-9]+}}.2d }
1155
1155
; CHECK: rev64 v{{[0-9]+}}.8h
1156
1156
; CHECK: st1 { v{{[0-9]+}}.8h }
1157
- %1 = load <2 x i64 >, ptr %p
1157
+ %1 = load volatile <2 x i64 >, ptr %p
1158
1158
%2 = add <2 x i64 > %1 , %1
1159
1159
%3 = bitcast <2 x i64 > %2 to <8 x i16 >
1160
1160
%4 = add <8 x i16 > %3 , %3
@@ -1234,7 +1234,7 @@ define void @test_v16i8_v2f64(ptr %p, ptr %q) {
1234
1234
; CHECK: ld1 { v{{[0-9]+}}.2d }
1235
1235
; CHECK: rev64 v{{[0-9]+}}.16b
1236
1236
; CHECK: st1 { v{{[0-9]+}}.16b }
1237
- %1 = load <2 x double >, ptr %p
1237
+ %1 = load volatile <2 x double >, ptr %p
1238
1238
%2 = fadd <2 x double > %1 , %1
1239
1239
%3 = bitcast <2 x double > %2 to <16 x i8 >
1240
1240
%4 = add <16 x i8 > %3 , %3
@@ -1247,7 +1247,7 @@ define void @test_v16i8_v2i64(ptr %p, ptr %q) {
1247
1247
; CHECK: ld1 { v{{[0-9]+}}.2d }
1248
1248
; CHECK: rev64 v{{[0-9]+}}.16b
1249
1249
; CHECK: st1 { v{{[0-9]+}}.16b }
1250
- %1 = load <2 x i64 >, ptr %p
1250
+ %1 = load volatile <2 x i64 >, ptr %p
1251
1251
%2 = add <2 x i64 > %1 , %1
1252
1252
%3 = bitcast <2 x i64 > %2 to <16 x i8 >
1253
1253
%4 = add <16 x i8 > %3 , %3
@@ -1315,7 +1315,7 @@ define %struct.struct1 @test_v4f16_struct(ptr %ret) {
1315
1315
entry:
1316
1316
; CHECK: ld1 { {{v[0-9]+}}.4h }
1317
1317
; CHECK-NOT: rev
1318
- %0 = load <4 x half >, ptr %ret , align 2
1318
+ %0 = load volatile <4 x half >, ptr %ret , align 2
1319
1319
%1 = extractelement <4 x half > %0 , i32 0
1320
1320
%.fca.0.insert = insertvalue %struct.struct1 undef , half %1 , 0
1321
1321
ret %struct.struct1 %.fca.0.insert
0 commit comments