mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-11 05:35:11 +00:00
[AVX-512] Fix the execution domain for AVX-512 integer broadcasts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296290 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b64325c5da
commit
f46e01bb23
@ -965,6 +965,7 @@ def : Pat<(int_x86_avx512_vbroadcast_sd_512 addr:$src),
|
||||
multiclass avx512_int_broadcast_reg<bits<8> opc, X86VectorVTInfo _,
|
||||
SDPatternOperator OpNode,
|
||||
RegisterClass SrcRC> {
|
||||
let ExeDomain = _.ExeDomain in
|
||||
defm r : AVX512_maskable<opc, MRMSrcReg, _, (outs _.RC:$dst),
|
||||
(ins SrcRC:$src),
|
||||
"vpbroadcast"##_.Suffix, "$src", "$src",
|
||||
|
@ -1419,7 +1419,7 @@ define void @isel_crash_4d(i32* %cV_R.addr) {
|
||||
; X64-AVX512VL-NEXT: movl (%rdi), %eax
|
||||
; X64-AVX512VL-NEXT: vpbroadcastd %eax, %xmm1
|
||||
; X64-AVX512VL-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: vmovaps %xmm1, -{{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: vmovdqa %xmm1, -{{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: retq
|
||||
entry:
|
||||
%__a.addr.i = alloca <2 x i64>, align 16
|
||||
@ -1523,7 +1523,7 @@ define void @isel_crash_8d(i32* %cV_R.addr) {
|
||||
; X64-AVX512VL-NEXT: movl (%rdi), %eax
|
||||
; X64-AVX512VL-NEXT: vpbroadcastd %eax, %ymm1
|
||||
; X64-AVX512VL-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: vmovaps %ymm1, {{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: vmovdqa %ymm1, {{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: movq %rbp, %rsp
|
||||
; X64-AVX512VL-NEXT: popq %rbp
|
||||
; X64-AVX512VL-NEXT: retq
|
||||
@ -1580,7 +1580,7 @@ define void @isel_crash_2q(i64* %cV_R.addr) {
|
||||
; X64-AVX512VL-NEXT: movq (%rdi), %rax
|
||||
; X64-AVX512VL-NEXT: vpbroadcastq %rax, %xmm1
|
||||
; X64-AVX512VL-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: vmovaps %xmm1, -{{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: vmovdqa %xmm1, -{{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: retq
|
||||
entry:
|
||||
%__a.addr.i = alloca <2 x i64>, align 16
|
||||
@ -1695,7 +1695,7 @@ define void @isel_crash_4q(i64* %cV_R.addr) {
|
||||
; X64-AVX512VL-NEXT: movq (%rdi), %rax
|
||||
; X64-AVX512VL-NEXT: vpbroadcastq %rax, %ymm1
|
||||
; X64-AVX512VL-NEXT: vmovaps %ymm0, {{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: vmovaps %ymm1, {{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: vmovdqa %ymm1, {{[0-9]+}}(%rsp)
|
||||
; X64-AVX512VL-NEXT: movq %rbp, %rsp
|
||||
; X64-AVX512VL-NEXT: popq %rbp
|
||||
; X64-AVX512VL-NEXT: retq
|
||||
|
@ -7,7 +7,7 @@ target triple = "x86_64-apple-macosx10.9.0"
|
||||
; loop.
|
||||
|
||||
; CHECK-LABEL: f:
|
||||
; CHECK: vmovups %zmm{{.}},
|
||||
; CHECK: vmovdqu32 %zmm{{.}},
|
||||
; CHECK-NOT: %ymm
|
||||
|
||||
define void @f(i32* %a, i32 %n) {
|
||||
|
Loading…
Reference in New Issue
Block a user