@@ -1382,9 +1382,9 @@ define <2 x float> @fsub_splat_constant1(<2 x float> %x) {
1382
1382
1383
1383
define <2 x float > @fneg (<2 x float > %x ) {
1384
1384
; CHECK-LABEL: @fneg(
1385
- ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <2 x float> [[X :%.*]], <2 x float> poison, <2 x i32> zeroinitializer
1386
- ; CHECK-NEXT: [[R :%.*]] = fneg <2 x float> [[TMP1]]
1387
- ; CHECK-NEXT: ret <2 x float> [[R ]]
1385
+ ; CHECK-NEXT: [[R :%.*]] = fneg <2 x float> [[TMP1 :%.*]]
1386
+ ; CHECK-NEXT: [[R1 :%.*]] = shufflevector <2 x float> [[R]], <2 x float> poison, <2 x i32> zeroinitializer
1387
+ ; CHECK-NEXT: ret <2 x float> [[R1 ]]
1388
1388
;
1389
1389
%splat = shufflevector <2 x float > %x , <2 x float > undef , <2 x i32 > zeroinitializer
1390
1390
%r = fsub <2 x float > <float -0 .0 , float -0 .0 >, %splat
@@ -1906,9 +1906,9 @@ define <4 x i32> @PR46872(<4 x i32> %x) {
1906
1906
1907
1907
define <2 x float > @fabs_unary_shuf (<2 x float > %x ) {
1908
1908
; CHECK-LABEL: @fabs_unary_shuf(
1909
- ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <2 x float> [[X:%.*]], <2 x float> poison, <2 x i32> <i32 1, i32 0>
1910
- ; CHECK-NEXT: [[R :%.*]] = call nnan nsz <2 x float> @llvm.fabs.v2f32( <2 x float> [[TMP1]])
1911
- ; CHECK-NEXT: ret <2 x float> [[R ]]
1909
+ ; CHECK-NEXT: [[R :%.*]] = call nnan nsz <2 x float> @llvm.fabs.v2f32( <2 x float> [[TMP1:%.*]])
1910
+ ; CHECK-NEXT: [[R1 :%.*]] = shufflevector <2 x float> [[R]], <2 x float> poison, <2 x i32> <i32 1, i32 0>
1911
+ ; CHECK-NEXT: ret <2 x float> [[R1 ]]
1912
1912
;
1913
1913
%nx = call nsz nnan <2 x float > @llvm.fabs.v2f32 (<2 x float > %x )
1914
1914
%r = shufflevector <2 x float > %nx , <2 x float > poison, <2 x i32 > <i32 1 , i32 0 >
@@ -1917,9 +1917,9 @@ define <2 x float> @fabs_unary_shuf(<2 x float> %x) {
1917
1917
1918
1918
define <4 x half > @fabs_unary_shuf_widen (<2 x half > %x ) {
1919
1919
; CHECK-LABEL: @fabs_unary_shuf_widen(
1920
- ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <2 x half> [[X:%.*]], <2 x half> poison, <4 x i32> <i32 1, i32 0, i32 0, i32 poison>
1921
- ; CHECK-NEXT: [[R :%.*]] = call ninf <4 x half> @llvm.fabs.v4f16( <4 x half> [[TMP1]])
1922
- ; CHECK-NEXT: ret <4 x half> [[R ]]
1920
+ ; CHECK-NEXT: [[X :%.*]] = call ninf <2 x half> @llvm.fabs.v2f16( <2 x half> [[X1:%.*]])
1921
+ ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <2 x half> [[X]], <2 x half> poison, <4 x i32> <i32 1, i32 0, i32 0, i32 poison>
1922
+ ; CHECK-NEXT: ret <4 x half> [[TMP1 ]]
1923
1923
;
1924
1924
%nx = call ninf <2 x half > @llvm.fabs.v2f16 (<2 x half > %x )
1925
1925
%r = shufflevector <2 x half > %nx , <2 x half > poison, <4 x i32 > <i32 1 , i32 0 , i32 0 , i32 poison>
@@ -1928,9 +1928,9 @@ define <4 x half> @fabs_unary_shuf_widen(<2 x half> %x) {
1928
1928
1929
1929
define <2 x double > @fabs_unary_shuf_narrow (<4 x double > %x ) {
1930
1930
; CHECK-LABEL: @fabs_unary_shuf_narrow(
1931
- ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <4 x double> [[X:%.*]], <4 x double> poison, <2 x i32> <i32 3, i32 0>
1932
- ; CHECK-NEXT: [[R :%.*]] = call nsz <2 x double> @llvm.fabs.v2f64( <2 x double> [[TMP1]])
1933
- ; CHECK-NEXT: ret <2 x double> [[R ]]
1931
+ ; CHECK-NEXT: [[X :%.*]] = call nsz <4 x double> @llvm.fabs.v4f64( <4 x double> [[X1:%.*]])
1932
+ ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <4 x double> [[X]], <4 x double> poison, <2 x i32> <i32 3, i32 0>
1933
+ ; CHECK-NEXT: ret <2 x double> [[TMP1 ]]
1934
1934
;
1935
1935
%nx = call nsz <4 x double > @llvm.fabs.v4f64 (<4 x double > %x )
1936
1936
%r = shufflevector <4 x double > %nx , <4 x double > poison, <2 x i32 > <i32 3 , i32 0 >
@@ -2021,9 +2021,9 @@ define <2 x float> @fabs_shuf_use3(<2 x float> %x, <2 x float> %y) {
2021
2021
2022
2022
define <2 x float > @fneg_unary_shuf (<2 x float > %x ) {
2023
2023
; CHECK-LABEL: @fneg_unary_shuf(
2024
- ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <2 x float> [[X :%.*]], <2 x float> poison, <2 x i32> <i32 1, i32 0>
2025
- ; CHECK-NEXT: [[R :%.*]] = fneg nnan nsz <2 x float> [[TMP1]]
2026
- ; CHECK-NEXT: ret <2 x float> [[R ]]
2024
+ ; CHECK-NEXT: [[R :%.*]] = fneg nnan nsz <2 x float> [[TMP1 :%.*]]
2025
+ ; CHECK-NEXT: [[R1 :%.*]] = shufflevector <2 x float> [[R]], <2 x float> poison, <2 x i32> <i32 1, i32 0>
2026
+ ; CHECK-NEXT: ret <2 x float> [[R1 ]]
2027
2027
;
2028
2028
%nx = fneg nsz nnan <2 x float > %x
2029
2029
%r = shufflevector <2 x float > %nx , <2 x float > poison, <2 x i32 > <i32 1 , i32 0 >
@@ -2032,9 +2032,9 @@ define <2 x float> @fneg_unary_shuf(<2 x float> %x) {
2032
2032
2033
2033
define <4 x half > @fneg_unary_shuf_widen (<2 x half > %x ) {
2034
2034
; CHECK-LABEL: @fneg_unary_shuf_widen(
2035
- ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <2 x half> [[X :%.*]], <2 x half> poison, <4 x i32> <i32 1, i32 0, i32 0, i32 poison>
2036
- ; CHECK-NEXT: [[R :%.*]] = fneg ninf <4 x half> [[TMP1]]
2037
- ; CHECK-NEXT: ret <4 x half> [[R ]]
2035
+ ; CHECK-NEXT: [[X :%.*]] = fneg ninf <2 x half> [[X1 :%.*]]
2036
+ ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <2 x half> [[X]], <2 x half> poison, <4 x i32> <i32 1, i32 0, i32 0, i32 poison>
2037
+ ; CHECK-NEXT: ret <4 x half> [[TMP1 ]]
2038
2038
;
2039
2039
%nx = fneg ninf <2 x half > %x
2040
2040
%r = shufflevector <2 x half > %nx , <2 x half > poison, <4 x i32 > <i32 1 , i32 0 , i32 0 , i32 poison>
@@ -2043,9 +2043,9 @@ define <4 x half> @fneg_unary_shuf_widen(<2 x half> %x) {
2043
2043
2044
2044
define <2 x double > @fneg_unary_shuf_narrow (<4 x double > %x ) {
2045
2045
; CHECK-LABEL: @fneg_unary_shuf_narrow(
2046
- ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <4 x double> [[X :%.*]], <4 x double> poison, <2 x i32> <i32 3, i32 0>
2047
- ; CHECK-NEXT: [[R :%.*]] = fneg nsz <2 x double> [[TMP1]]
2048
- ; CHECK-NEXT: ret <2 x double> [[R ]]
2046
+ ; CHECK-NEXT: [[X :%.*]] = fneg nsz <4 x double> [[X1 :%.*]]
2047
+ ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <4 x double> [[X]], <4 x double> poison, <2 x i32> <i32 3, i32 0>
2048
+ ; CHECK-NEXT: ret <2 x double> [[TMP1 ]]
2049
2049
;
2050
2050
%nx = fneg nsz <4 x double > %x
2051
2051
%r = shufflevector <4 x double > %nx , <4 x double > poison, <2 x i32 > <i32 3 , i32 0 >
0 commit comments