@@ -2143,15 +2143,9 @@ define float @constant_fold_f32() {
21432143define <4 x float > @constant_fold_v4f32 () {
21442144; FMA32-LABEL: constant_fold_v4f32:
21452145; FMA32: ## %bb.0:
2146- ; FMA32-NEXT: vmovaps {{.*#+}} xmm1 = [0.0E+0,1.0E+1,2.0E+1,3.0E+1]
2147- ; FMA32-NEXT: ## encoding: [0xc5,0xf8,0x28,0x0d,A,A,A,A]
2148- ; FMA32-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
2149- ; FMA32-NEXT: vmovaps {{.*#+}} xmm0 = [4.0E+1,5.0E+1,6.0E+1,7.0E+1]
2146+ ; FMA32-NEXT: vmovaps {{.*#+}} xmm0 = [0.0E+0,4.9E+2,1.18E+3,2.07E+3]
21502147; FMA32-NEXT: ## encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
21512148; FMA32-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
2152- ; FMA32-NEXT: vfmadd213ps {{\.?LCPI[0-9]+_[0-9]+}}, %xmm1, %xmm0 ## encoding: [0xc4,0xe2,0x71,0xa8,0x05,A,A,A,A]
2153- ; FMA32-NEXT: ## fixup A - offset: 5, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
2154- ; FMA32-NEXT: ## xmm0 = (xmm1 * xmm0) + mem
21552149; FMA32-NEXT: retl ## encoding: [0xc3]
21562150;
21572151; FMACALL32-LABEL: constant_fold_v4f32:
@@ -2163,15 +2157,9 @@ define <4 x float> @constant_fold_v4f32() {
21632157;
21642158; FMA64-LABEL: constant_fold_v4f32:
21652159; FMA64: ## %bb.0:
2166- ; FMA64-NEXT: vmovaps {{.*#+}} xmm1 = [0.0E+0,1.0E+1,2.0E+1,3.0E+1]
2167- ; FMA64-NEXT: ## encoding: [0xc5,0xf8,0x28,0x0d,A,A,A,A]
2168- ; FMA64-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2169- ; FMA64-NEXT: vmovaps {{.*#+}} xmm0 = [4.0E+1,5.0E+1,6.0E+1,7.0E+1]
2160+ ; FMA64-NEXT: vmovaps {{.*#+}} xmm0 = [0.0E+0,4.9E+2,1.18E+3,2.07E+3]
21702161; FMA64-NEXT: ## encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
21712162; FMA64-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2172- ; FMA64-NEXT: vfmadd213ps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm0 ## encoding: [0xc4,0xe2,0x71,0xa8,0x05,A,A,A,A]
2173- ; FMA64-NEXT: ## fixup A - offset: 5, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2174- ; FMA64-NEXT: ## xmm0 = (xmm1 * xmm0) + mem
21752163; FMA64-NEXT: retq ## encoding: [0xc3]
21762164;
21772165; FMACALL64-LABEL: constant_fold_v4f32:
@@ -2183,28 +2171,16 @@ define <4 x float> @constant_fold_v4f32() {
21832171;
21842172; AVX512-LABEL: constant_fold_v4f32:
21852173; AVX512: ## %bb.0:
2186- ; AVX512-NEXT: vmovaps {{.*#+}} xmm1 = [0.0E+0,1.0E+1,2.0E+1,3.0E+1]
2187- ; AVX512-NEXT: ## encoding: [0xc5,0xf8,0x28,0x0d,A,A,A,A]
2188- ; AVX512-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2189- ; AVX512-NEXT: vmovaps {{.*#+}} xmm0 = [4.0E+1,5.0E+1,6.0E+1,7.0E+1]
2174+ ; AVX512-NEXT: vmovaps {{.*#+}} xmm0 = [0.0E+0,4.9E+2,1.18E+3,2.07E+3]
21902175; AVX512-NEXT: ## encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
21912176; AVX512-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2192- ; AVX512-NEXT: vfmadd213ps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm0 ## encoding: [0xc4,0xe2,0x71,0xa8,0x05,A,A,A,A]
2193- ; AVX512-NEXT: ## fixup A - offset: 5, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2194- ; AVX512-NEXT: ## xmm0 = (xmm1 * xmm0) + mem
21952177; AVX512-NEXT: retq ## encoding: [0xc3]
21962178;
21972179; AVX512VL-LABEL: constant_fold_v4f32:
21982180; AVX512VL: ## %bb.0:
2199- ; AVX512VL-NEXT: vmovaps {{.*#+}} xmm1 = [0.0E+0,1.0E+1,2.0E+1,3.0E+1]
2200- ; AVX512VL-NEXT: ## EVEX TO VEX Compression encoding: [0xc5,0xf8,0x28,0x0d,A,A,A,A]
2201- ; AVX512VL-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2202- ; AVX512VL-NEXT: vmovaps {{.*#+}} xmm0 = [4.0E+1,5.0E+1,6.0E+1,7.0E+1]
2181+ ; AVX512VL-NEXT: vmovaps {{.*#+}} xmm0 = [0.0E+0,4.9E+2,1.18E+3,2.07E+3]
22032182; AVX512VL-NEXT: ## EVEX TO VEX Compression encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
22042183; AVX512VL-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2205- ; AVX512VL-NEXT: vfmadd213ps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe2,0x71,0xa8,0x05,A,A,A,A]
2206- ; AVX512VL-NEXT: ## fixup A - offset: 5, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2207- ; AVX512VL-NEXT: ## xmm0 = (xmm1 * xmm0) + mem
22082184; AVX512VL-NEXT: retq ## encoding: [0xc3]
22092185 %r = call <4 x float > @llvm.fma.v4f32 (<4 x float > <float 0 .000000e+01 , float 1 .000000e+01 , float 2 .000000e+01 , float 3 .000000e+01 >, <4 x float > <float 4 .000000e+01 , float 5 .000000e+01 , float 6 .000000e+01 , float 7 .000000e+01 >, <4 x float > <float 0 .000000e+01 , float -1 .000000e+01 , float -2 .000000e+01 , float -3 .000000e+01 >)
22102186 ret <4 x float > %r
@@ -2213,15 +2189,9 @@ define <4 x float> @constant_fold_v4f32() {
22132189define <2 x double > @constant_fold_v2f64 () {
22142190; FMA32-LABEL: constant_fold_v2f64:
22152191; FMA32: ## %bb.0:
2216- ; FMA32-NEXT: vmovapd {{.*#+}} xmm1 = [1.0E+1,2.0E+1]
2217- ; FMA32-NEXT: ## encoding: [0xc5,0xf9,0x28,0x0d,A,A,A,A]
2218- ; FMA32-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
2219- ; FMA32-NEXT: vmovsd {{.*#+}} xmm0 = [1.0E+1,0.0E+0]
2220- ; FMA32-NEXT: ## encoding: [0xc5,0xfb,0x10,0x05,A,A,A,A]
2192+ ; FMA32-NEXT: vmovaps {{.*#+}} xmm0 = [4.1E+2,1.4E+3]
2193+ ; FMA32-NEXT: ## encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
22212194; FMA32-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
2222- ; FMA32-NEXT: vfmadd231pd {{\.?LCPI[0-9]+_[0-9]+}}, %xmm1, %xmm0 ## encoding: [0xc4,0xe2,0xf1,0xb8,0x05,A,A,A,A]
2223- ; FMA32-NEXT: ## fixup A - offset: 5, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
2224- ; FMA32-NEXT: ## xmm0 = (xmm1 * mem) + xmm0
22252195; FMA32-NEXT: retl ## encoding: [0xc3]
22262196;
22272197; FMACALL32-LABEL: constant_fold_v2f64:
@@ -2233,15 +2203,9 @@ define <2 x double> @constant_fold_v2f64() {
22332203;
22342204; FMA64-LABEL: constant_fold_v2f64:
22352205; FMA64: ## %bb.0:
2236- ; FMA64-NEXT: vmovapd {{.*#+}} xmm1 = [1.0E+1,2.0E+1]
2237- ; FMA64-NEXT: ## encoding: [0xc5,0xf9,0x28,0x0d,A,A,A,A]
2238- ; FMA64-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2239- ; FMA64-NEXT: vmovsd {{.*#+}} xmm0 = [1.0E+1,0.0E+0]
2240- ; FMA64-NEXT: ## encoding: [0xc5,0xfb,0x10,0x05,A,A,A,A]
2206+ ; FMA64-NEXT: vmovaps {{.*#+}} xmm0 = [4.1E+2,1.4E+3]
2207+ ; FMA64-NEXT: ## encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
22412208; FMA64-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2242- ; FMA64-NEXT: vfmadd231pd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm0 ## encoding: [0xc4,0xe2,0xf1,0xb8,0x05,A,A,A,A]
2243- ; FMA64-NEXT: ## fixup A - offset: 5, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2244- ; FMA64-NEXT: ## xmm0 = (xmm1 * mem) + xmm0
22452209; FMA64-NEXT: retq ## encoding: [0xc3]
22462210;
22472211; FMACALL64-LABEL: constant_fold_v2f64:
@@ -2253,28 +2217,16 @@ define <2 x double> @constant_fold_v2f64() {
22532217;
22542218; AVX512-LABEL: constant_fold_v2f64:
22552219; AVX512: ## %bb.0:
2256- ; AVX512-NEXT: vmovapd {{.*#+}} xmm1 = [1.0E+1,2.0E+1]
2257- ; AVX512-NEXT: ## encoding: [0xc5,0xf9,0x28,0x0d,A,A,A,A]
2258- ; AVX512-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2259- ; AVX512-NEXT: vmovsd {{.*#+}} xmm0 = [1.0E+1,0.0E+0]
2260- ; AVX512-NEXT: ## EVEX TO VEX Compression encoding: [0xc5,0xfb,0x10,0x05,A,A,A,A]
2220+ ; AVX512-NEXT: vmovaps {{.*#+}} xmm0 = [4.1E+2,1.4E+3]
2221+ ; AVX512-NEXT: ## encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
22612222; AVX512-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2262- ; AVX512-NEXT: vfmadd231pd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm0 ## encoding: [0xc4,0xe2,0xf1,0xb8,0x05,A,A,A,A]
2263- ; AVX512-NEXT: ## fixup A - offset: 5, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2264- ; AVX512-NEXT: ## xmm0 = (xmm1 * mem) + xmm0
22652223; AVX512-NEXT: retq ## encoding: [0xc3]
22662224;
22672225; AVX512VL-LABEL: constant_fold_v2f64:
22682226; AVX512VL: ## %bb.0:
2269- ; AVX512VL-NEXT: vmovapd {{.*#+}} xmm1 = [1.0E+1,2.0E+1]
2270- ; AVX512VL-NEXT: ## EVEX TO VEX Compression encoding: [0xc5,0xf9,0x28,0x0d,A,A,A,A]
2271- ; AVX512VL-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2272- ; AVX512VL-NEXT: vmovsd {{.*#+}} xmm0 = [1.0E+1,0.0E+0]
2273- ; AVX512VL-NEXT: ## EVEX TO VEX Compression encoding: [0xc5,0xfb,0x10,0x05,A,A,A,A]
2227+ ; AVX512VL-NEXT: vmovaps {{.*#+}} xmm0 = [4.1E+2,1.4E+3]
2228+ ; AVX512VL-NEXT: ## EVEX TO VEX Compression encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
22742229; AVX512VL-NEXT: ## fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2275- ; AVX512VL-NEXT: vfmadd231pd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm0 ## EVEX TO VEX Compression encoding: [0xc4,0xe2,0xf1,0xb8,0x05,A,A,A,A]
2276- ; AVX512VL-NEXT: ## fixup A - offset: 5, value: {{\.?LCPI[0-9]+_[0-9]+}}-4, kind: reloc_riprel_4byte
2277- ; AVX512VL-NEXT: ## xmm0 = (xmm1 * mem) + xmm0
22782230; AVX512VL-NEXT: retq ## encoding: [0xc3]
22792231 %r = call <2 x double > @llvm.fma.v2f64 (<2 x double > <double 1 .000000e+01 , double 2 .000000e+01 >, <2 x double > <double 4 .000000e+01 , double 7 .000000e+01 >, <2 x double > <double 1 .000000e+01 , double 0 .000000e+01 >)
22802232 ret <2 x double > %r
0 commit comments