11; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2- ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE,X86-SSE,SSE2, X86-SSE2
3- ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=SSE,X86-SSE,SSE41, X86-SSE41
2+ ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE,X86-SSE,X86-SSE2
3+ ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=SSE,X86-SSE,X86-SSE41
44; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=AVX,X86-AVX,X86-AVX1
55; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefixes=AVX,X86-AVX,X86-AVX512
6- ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE,X64-SSE,SSE2, X64-SSE2
7- ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=SSE,X64-SSE,SSE41, X64-SSE41
6+ ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE,X64-SSE,X64-SSE2
7+ ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=SSE,X64-SSE,X64-SSE41
88; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=AVX,X64-AVX,X64-AVX1
99; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefixes=AVX,X64-AVX,X64-AVX512
1010
@@ -1150,17 +1150,11 @@ define <4 x float> @insert_test5_add_ss(<4 x float> %a, <4 x float> %b) {
11501150}
11511151
11521152define <4 x float > @insert_test5_sub_ss (<4 x float > %a , <4 x float > %b ) {
1153- ; SSE2-LABEL: insert_test5_sub_ss:
1154- ; SSE2: # %bb.0:
1155- ; SSE2-NEXT: subps %xmm0, %xmm1
1156- ; SSE2-NEXT: movss {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1157- ; SSE2-NEXT: ret{{[l|q]}}
1158- ;
1159- ; SSE41-LABEL: insert_test5_sub_ss:
1160- ; SSE41: # %bb.0:
1161- ; SSE41-NEXT: subps %xmm0, %xmm1
1162- ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1163- ; SSE41-NEXT: ret{{[l|q]}}
1153+ ; SSE-LABEL: insert_test5_sub_ss:
1154+ ; SSE: # %bb.0:
1155+ ; SSE-NEXT: subps %xmm0, %xmm1
1156+ ; SSE-NEXT: movss {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1157+ ; SSE-NEXT: ret{{[l|q]}}
11641158;
11651159; AVX-LABEL: insert_test5_sub_ss:
11661160; AVX: # %bb.0:
@@ -1188,17 +1182,11 @@ define <4 x float> @insert_test5_mul_ss(<4 x float> %a, <4 x float> %b) {
11881182}
11891183
11901184define <4 x float > @insert_test5_div_ss (<4 x float > %a , <4 x float > %b ) {
1191- ; SSE2-LABEL: insert_test5_div_ss:
1192- ; SSE2: # %bb.0:
1193- ; SSE2-NEXT: divps %xmm0, %xmm1
1194- ; SSE2-NEXT: movss {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1195- ; SSE2-NEXT: ret{{[l|q]}}
1196- ;
1197- ; SSE41-LABEL: insert_test5_div_ss:
1198- ; SSE41: # %bb.0:
1199- ; SSE41-NEXT: divps %xmm0, %xmm1
1200- ; SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1201- ; SSE41-NEXT: ret{{[l|q]}}
1185+ ; SSE-LABEL: insert_test5_div_ss:
1186+ ; SSE: # %bb.0:
1187+ ; SSE-NEXT: divps %xmm0, %xmm1
1188+ ; SSE-NEXT: movss {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1189+ ; SSE-NEXT: ret{{[l|q]}}
12021190;
12031191; AVX-LABEL: insert_test5_div_ss:
12041192; AVX: # %bb.0:
@@ -1226,17 +1214,11 @@ define <2 x double> @insert_test5_add_sd(<2 x double> %a, <2 x double> %b) {
12261214}
12271215
12281216define <2 x double > @insert_test5_sub_sd (<2 x double > %a , <2 x double > %b ) {
1229- ; SSE2-LABEL: insert_test5_sub_sd:
1230- ; SSE2: # %bb.0:
1231- ; SSE2-NEXT: subpd %xmm0, %xmm1
1232- ; SSE2-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
1233- ; SSE2-NEXT: ret{{[l|q]}}
1234- ;
1235- ; SSE41-LABEL: insert_test5_sub_sd:
1236- ; SSE41: # %bb.0:
1237- ; SSE41-NEXT: subpd %xmm0, %xmm1
1238- ; SSE41-NEXT: blendpd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
1239- ; SSE41-NEXT: ret{{[l|q]}}
1217+ ; SSE-LABEL: insert_test5_sub_sd:
1218+ ; SSE: # %bb.0:
1219+ ; SSE-NEXT: subpd %xmm0, %xmm1
1220+ ; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
1221+ ; SSE-NEXT: ret{{[l|q]}}
12401222;
12411223; AVX-LABEL: insert_test5_sub_sd:
12421224; AVX: # %bb.0:
@@ -1264,17 +1246,11 @@ define <2 x double> @insert_test5_mul_sd(<2 x double> %a, <2 x double> %b) {
12641246}
12651247
12661248define <2 x double > @insert_test5_div_sd (<2 x double > %a , <2 x double > %b ) {
1267- ; SSE2-LABEL: insert_test5_div_sd:
1268- ; SSE2: # %bb.0:
1269- ; SSE2-NEXT: divpd %xmm0, %xmm1
1270- ; SSE2-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
1271- ; SSE2-NEXT: ret{{[l|q]}}
1272- ;
1273- ; SSE41-LABEL: insert_test5_div_sd:
1274- ; SSE41: # %bb.0:
1275- ; SSE41-NEXT: divpd %xmm0, %xmm1
1276- ; SSE41-NEXT: blendpd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
1277- ; SSE41-NEXT: ret{{[l|q]}}
1249+ ; SSE-LABEL: insert_test5_div_sd:
1250+ ; SSE: # %bb.0:
1251+ ; SSE-NEXT: divpd %xmm0, %xmm1
1252+ ; SSE-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
1253+ ; SSE-NEXT: ret{{[l|q]}}
12781254;
12791255; AVX-LABEL: insert_test5_div_sd:
12801256; AVX: # %bb.0:
@@ -1287,29 +1263,17 @@ define <2 x double> @insert_test5_div_sd(<2 x double> %a, <2 x double> %b) {
12871263}
12881264
12891265define <4 x float > @add_ss_mask (<4 x float > %a , <4 x float > %b , <4 x float > %c , i8 %mask ) {
1290- ; X86-SSE2-LABEL: add_ss_mask:
1291- ; X86-SSE2: # %bb.0:
1292- ; X86-SSE2-NEXT: testb $1, {{[0-9]+}}(%esp)
1293- ; X86-SSE2-NEXT: jne .LBB70_1
1294- ; X86-SSE2-NEXT: # %bb.2:
1295- ; X86-SSE2-NEXT: movss {{.*#+}} xmm0 = xmm2[0],xmm0[1,2,3]
1296- ; X86-SSE2-NEXT: retl
1297- ; X86-SSE2-NEXT: .LBB70_1:
1298- ; X86-SSE2-NEXT: addss %xmm0, %xmm1
1299- ; X86-SSE2-NEXT: movss {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1300- ; X86-SSE2-NEXT: retl
1301- ;
1302- ; X86-SSE41-LABEL: add_ss_mask:
1303- ; X86-SSE41: # %bb.0:
1304- ; X86-SSE41-NEXT: testb $1, {{[0-9]+}}(%esp)
1305- ; X86-SSE41-NEXT: jne .LBB70_1
1306- ; X86-SSE41-NEXT: # %bb.2:
1307- ; X86-SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm2[0],xmm0[1,2,3]
1308- ; X86-SSE41-NEXT: retl
1309- ; X86-SSE41-NEXT: .LBB70_1:
1310- ; X86-SSE41-NEXT: addss %xmm0, %xmm1
1311- ; X86-SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1312- ; X86-SSE41-NEXT: retl
1266+ ; X86-SSE-LABEL: add_ss_mask:
1267+ ; X86-SSE: # %bb.0:
1268+ ; X86-SSE-NEXT: testb $1, {{[0-9]+}}(%esp)
1269+ ; X86-SSE-NEXT: jne .LBB70_1
1270+ ; X86-SSE-NEXT: # %bb.2:
1271+ ; X86-SSE-NEXT: movss {{.*#+}} xmm0 = xmm2[0],xmm0[1,2,3]
1272+ ; X86-SSE-NEXT: retl
1273+ ; X86-SSE-NEXT: .LBB70_1:
1274+ ; X86-SSE-NEXT: addss %xmm0, %xmm1
1275+ ; X86-SSE-NEXT: movss {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1276+ ; X86-SSE-NEXT: retl
13131277;
13141278; X86-AVX1-LABEL: add_ss_mask:
13151279; X86-AVX1: # %bb.0:
@@ -1329,29 +1293,17 @@ define <4 x float> @add_ss_mask(<4 x float> %a, <4 x float> %b, <4 x float> %c,
13291293; X86-AVX512-NEXT: vmovaps %xmm2, %xmm0
13301294; X86-AVX512-NEXT: retl
13311295;
1332- ; X64-SSE2-LABEL: add_ss_mask:
1333- ; X64-SSE2: # %bb.0:
1334- ; X64-SSE2-NEXT: testb $1, %dil
1335- ; X64-SSE2-NEXT: jne .LBB70_1
1336- ; X64-SSE2-NEXT: # %bb.2:
1337- ; X64-SSE2-NEXT: movss {{.*#+}} xmm0 = xmm2[0],xmm0[1,2,3]
1338- ; X64-SSE2-NEXT: retq
1339- ; X64-SSE2-NEXT: .LBB70_1:
1340- ; X64-SSE2-NEXT: addss %xmm0, %xmm1
1341- ; X64-SSE2-NEXT: movss {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1342- ; X64-SSE2-NEXT: retq
1343- ;
1344- ; X64-SSE41-LABEL: add_ss_mask:
1345- ; X64-SSE41: # %bb.0:
1346- ; X64-SSE41-NEXT: testb $1, %dil
1347- ; X64-SSE41-NEXT: jne .LBB70_1
1348- ; X64-SSE41-NEXT: # %bb.2:
1349- ; X64-SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm2[0],xmm0[1,2,3]
1350- ; X64-SSE41-NEXT: retq
1351- ; X64-SSE41-NEXT: .LBB70_1:
1352- ; X64-SSE41-NEXT: addss %xmm0, %xmm1
1353- ; X64-SSE41-NEXT: blendps {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1354- ; X64-SSE41-NEXT: retq
1296+ ; X64-SSE-LABEL: add_ss_mask:
1297+ ; X64-SSE: # %bb.0:
1298+ ; X64-SSE-NEXT: testb $1, %dil
1299+ ; X64-SSE-NEXT: jne .LBB70_1
1300+ ; X64-SSE-NEXT: # %bb.2:
1301+ ; X64-SSE-NEXT: movss {{.*#+}} xmm0 = xmm2[0],xmm0[1,2,3]
1302+ ; X64-SSE-NEXT: retq
1303+ ; X64-SSE-NEXT: .LBB70_1:
1304+ ; X64-SSE-NEXT: addss %xmm0, %xmm1
1305+ ; X64-SSE-NEXT: movss {{.*#+}} xmm0 = xmm1[0],xmm0[1,2,3]
1306+ ; X64-SSE-NEXT: retq
13551307;
13561308; X64-AVX1-LABEL: add_ss_mask:
13571309; X64-AVX1: # %bb.0:
@@ -1402,7 +1354,7 @@ define <2 x double> @add_sd_mask(<2 x double> %a, <2 x double> %b, <2 x double>
14021354; X86-SSE41-NEXT: retl
14031355; X86-SSE41-NEXT: .LBB71_1:
14041356; X86-SSE41-NEXT: addsd %xmm0, %xmm1
1405- ; X86-SSE41-NEXT: blendpd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
1357+ ; X86-SSE41-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
14061358; X86-SSE41-NEXT: retl
14071359;
14081360; X86-AVX1-LABEL: add_sd_mask:
@@ -1444,7 +1396,7 @@ define <2 x double> @add_sd_mask(<2 x double> %a, <2 x double> %b, <2 x double>
14441396; X64-SSE41-NEXT: retq
14451397; X64-SSE41-NEXT: .LBB71_1:
14461398; X64-SSE41-NEXT: addsd %xmm0, %xmm1
1447- ; X64-SSE41-NEXT: blendpd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
1399+ ; X64-SSE41-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
14481400; X64-SSE41-NEXT: retq
14491401;
14501402; X64-AVX1-LABEL: add_sd_mask:
0 commit comments