@@ -2143,15 +2143,9 @@ define float @constant_fold_f32() {
2143
2143
define <4 x float > @constant_fold_v4f32 () {
2144
2144
; FMA32-LABEL: constant_fold_v4f32:
2145
2145
; 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]
2150
2147
; FMA32-NEXT: ## encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
2151
2148
; 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
2155
2149
; FMA32-NEXT: retl ## encoding: [0xc3]
2156
2150
;
2157
2151
; FMACALL32-LABEL: constant_fold_v4f32:
@@ -2163,15 +2157,9 @@ define <4 x float> @constant_fold_v4f32() {
2163
2157
;
2164
2158
; FMA64-LABEL: constant_fold_v4f32:
2165
2159
; 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]
2170
2161
; FMA64-NEXT: ## encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
2171
2162
; 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
2175
2163
; FMA64-NEXT: retq ## encoding: [0xc3]
2176
2164
;
2177
2165
; FMACALL64-LABEL: constant_fold_v4f32:
@@ -2183,28 +2171,16 @@ define <4 x float> @constant_fold_v4f32() {
2183
2171
;
2184
2172
; AVX512-LABEL: constant_fold_v4f32:
2185
2173
; 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]
2190
2175
; AVX512-NEXT: ## encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
2191
2176
; 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
2195
2177
; AVX512-NEXT: retq ## encoding: [0xc3]
2196
2178
;
2197
2179
; AVX512VL-LABEL: constant_fold_v4f32:
2198
2180
; 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]
2203
2182
; AVX512VL-NEXT: ## EVEX TO VEX Compression encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
2204
2183
; 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
2208
2184
; AVX512VL-NEXT: retq ## encoding: [0xc3]
2209
2185
%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 >)
2210
2186
ret <4 x float > %r
@@ -2213,15 +2189,9 @@ define <4 x float> @constant_fold_v4f32() {
2213
2189
define <2 x double > @constant_fold_v2f64 () {
2214
2190
; FMA32-LABEL: constant_fold_v2f64:
2215
2191
; 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]
2221
2194
; 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
2225
2195
; FMA32-NEXT: retl ## encoding: [0xc3]
2226
2196
;
2227
2197
; FMACALL32-LABEL: constant_fold_v2f64:
@@ -2233,15 +2203,9 @@ define <2 x double> @constant_fold_v2f64() {
2233
2203
;
2234
2204
; FMA64-LABEL: constant_fold_v2f64:
2235
2205
; 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]
2241
2208
; 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
2245
2209
; FMA64-NEXT: retq ## encoding: [0xc3]
2246
2210
;
2247
2211
; FMACALL64-LABEL: constant_fold_v2f64:
@@ -2253,28 +2217,16 @@ define <2 x double> @constant_fold_v2f64() {
2253
2217
;
2254
2218
; AVX512-LABEL: constant_fold_v2f64:
2255
2219
; 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]
2261
2222
; 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
2265
2223
; AVX512-NEXT: retq ## encoding: [0xc3]
2266
2224
;
2267
2225
; AVX512VL-LABEL: constant_fold_v2f64:
2268
2226
; 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]
2274
2229
; 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
2278
2230
; AVX512VL-NEXT: retq ## encoding: [0xc3]
2279
2231
%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 >)
2280
2232
ret <2 x double > %r
0 commit comments