@@ -957,8 +957,16 @@ define <16 x float> @test_load_nt16xfloat(<16 x float>* nocapture %ptr) {
957
957
;
958
958
; AVX1-LABEL: test_load_nt16xfloat:
959
959
; AVX1: # BB#0: # %entry
960
- ; AVX1-NEXT: vmovaps (%rdi), %ymm0
961
- ; AVX1-NEXT: vmovaps 32(%rdi), %ymm1
960
+ ; AVX1-NEXT: vmovntdqa (%rdi), %xmm0
961
+ ; AVX1-NEXT: # implicit-def: %YMM1
962
+ ; AVX1-NEXT: vmovaps %xmm0, %xmm1
963
+ ; AVX1-NEXT: vmovntdqa 16(%rdi), %xmm0
964
+ ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
965
+ ; AVX1-NEXT: vmovntdqa 32(%rdi), %xmm2
966
+ ; AVX1-NEXT: # implicit-def: %YMM1
967
+ ; AVX1-NEXT: vmovaps %xmm2, %xmm1
968
+ ; AVX1-NEXT: vmovntdqa 48(%rdi), %xmm2
969
+ ; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1
962
970
; AVX1-NEXT: retq
963
971
;
964
972
; AVX2-LABEL: test_load_nt16xfloat:
@@ -1003,8 +1011,16 @@ define <8 x double> @test_load_nt8xdouble(<8 x double>* nocapture %ptr) {
1003
1011
;
1004
1012
; AVX1-LABEL: test_load_nt8xdouble:
1005
1013
; AVX1: # BB#0: # %entry
1006
- ; AVX1-NEXT: vmovapd (%rdi), %ymm0
1007
- ; AVX1-NEXT: vmovapd 32(%rdi), %ymm1
1014
+ ; AVX1-NEXT: vmovntdqa (%rdi), %xmm0
1015
+ ; AVX1-NEXT: # implicit-def: %YMM1
1016
+ ; AVX1-NEXT: vmovaps %xmm0, %xmm1
1017
+ ; AVX1-NEXT: vmovntdqa 16(%rdi), %xmm0
1018
+ ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
1019
+ ; AVX1-NEXT: vmovntdqa 32(%rdi), %xmm2
1020
+ ; AVX1-NEXT: # implicit-def: %YMM1
1021
+ ; AVX1-NEXT: vmovaps %xmm2, %xmm1
1022
+ ; AVX1-NEXT: vmovntdqa 48(%rdi), %xmm2
1023
+ ; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1
1008
1024
; AVX1-NEXT: retq
1009
1025
;
1010
1026
; AVX2-LABEL: test_load_nt8xdouble:
@@ -1049,8 +1065,16 @@ define <64 x i8> @test_load_nt64xi8(<64 x i8>* nocapture %ptr) {
1049
1065
;
1050
1066
; AVX1-LABEL: test_load_nt64xi8:
1051
1067
; AVX1: # BB#0: # %entry
1052
- ; AVX1-NEXT: vmovaps (%rdi), %ymm0
1053
- ; AVX1-NEXT: vmovaps 32(%rdi), %ymm1
1068
+ ; AVX1-NEXT: vmovntdqa (%rdi), %xmm0
1069
+ ; AVX1-NEXT: # implicit-def: %YMM1
1070
+ ; AVX1-NEXT: vmovaps %xmm0, %xmm1
1071
+ ; AVX1-NEXT: vmovntdqa 16(%rdi), %xmm0
1072
+ ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
1073
+ ; AVX1-NEXT: vmovntdqa 32(%rdi), %xmm2
1074
+ ; AVX1-NEXT: # implicit-def: %YMM1
1075
+ ; AVX1-NEXT: vmovaps %xmm2, %xmm1
1076
+ ; AVX1-NEXT: vmovntdqa 48(%rdi), %xmm2
1077
+ ; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1
1054
1078
; AVX1-NEXT: retq
1055
1079
;
1056
1080
; AVX2-LABEL: test_load_nt64xi8:
@@ -1101,8 +1125,16 @@ define <32 x i16> @test_load_nt32xi16(<32 x i16>* nocapture %ptr) {
1101
1125
;
1102
1126
; AVX1-LABEL: test_load_nt32xi16:
1103
1127
; AVX1: # BB#0: # %entry
1104
- ; AVX1-NEXT: vmovaps (%rdi), %ymm0
1105
- ; AVX1-NEXT: vmovaps 32(%rdi), %ymm1
1128
+ ; AVX1-NEXT: vmovntdqa (%rdi), %xmm0
1129
+ ; AVX1-NEXT: # implicit-def: %YMM1
1130
+ ; AVX1-NEXT: vmovaps %xmm0, %xmm1
1131
+ ; AVX1-NEXT: vmovntdqa 16(%rdi), %xmm0
1132
+ ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
1133
+ ; AVX1-NEXT: vmovntdqa 32(%rdi), %xmm2
1134
+ ; AVX1-NEXT: # implicit-def: %YMM1
1135
+ ; AVX1-NEXT: vmovaps %xmm2, %xmm1
1136
+ ; AVX1-NEXT: vmovntdqa 48(%rdi), %xmm2
1137
+ ; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1
1106
1138
; AVX1-NEXT: retq
1107
1139
;
1108
1140
; AVX2-LABEL: test_load_nt32xi16:
@@ -1153,8 +1185,16 @@ define <16 x i32> @test_load_nt16xi32(<16 x i32>* nocapture %ptr) {
1153
1185
;
1154
1186
; AVX1-LABEL: test_load_nt16xi32:
1155
1187
; AVX1: # BB#0: # %entry
1156
- ; AVX1-NEXT: vmovaps (%rdi), %ymm0
1157
- ; AVX1-NEXT: vmovaps 32(%rdi), %ymm1
1188
+ ; AVX1-NEXT: vmovntdqa (%rdi), %xmm0
1189
+ ; AVX1-NEXT: # implicit-def: %YMM1
1190
+ ; AVX1-NEXT: vmovaps %xmm0, %xmm1
1191
+ ; AVX1-NEXT: vmovntdqa 16(%rdi), %xmm0
1192
+ ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
1193
+ ; AVX1-NEXT: vmovntdqa 32(%rdi), %xmm2
1194
+ ; AVX1-NEXT: # implicit-def: %YMM1
1195
+ ; AVX1-NEXT: vmovaps %xmm2, %xmm1
1196
+ ; AVX1-NEXT: vmovntdqa 48(%rdi), %xmm2
1197
+ ; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1
1158
1198
; AVX1-NEXT: retq
1159
1199
;
1160
1200
; AVX2-LABEL: test_load_nt16xi32:
@@ -1199,8 +1239,16 @@ define <8 x i64> @test_load_nt8xi64(<8 x i64>* nocapture %ptr) {
1199
1239
;
1200
1240
; AVX1-LABEL: test_load_nt8xi64:
1201
1241
; AVX1: # BB#0: # %entry
1202
- ; AVX1-NEXT: vmovaps (%rdi), %ymm0
1203
- ; AVX1-NEXT: vmovaps 32(%rdi), %ymm1
1242
+ ; AVX1-NEXT: vmovntdqa (%rdi), %xmm0
1243
+ ; AVX1-NEXT: # implicit-def: %YMM1
1244
+ ; AVX1-NEXT: vmovaps %xmm0, %xmm1
1245
+ ; AVX1-NEXT: vmovntdqa 16(%rdi), %xmm0
1246
+ ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
1247
+ ; AVX1-NEXT: vmovntdqa 32(%rdi), %xmm2
1248
+ ; AVX1-NEXT: # implicit-def: %YMM1
1249
+ ; AVX1-NEXT: vmovaps %xmm2, %xmm1
1250
+ ; AVX1-NEXT: vmovntdqa 48(%rdi), %xmm2
1251
+ ; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1
1204
1252
; AVX1-NEXT: retq
1205
1253
;
1206
1254
; AVX2-LABEL: test_load_nt8xi64:
0 commit comments