[PATCH] D148534: [X86] Fix checks for illegal physreg COPY instructions
Jay Foad via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 17 07:54:44 PDT 2023
foad created this revision.
foad added reviewers: arsenm, pengfei, craig.topper, RKSimon, spatel, LiuChen3, FreddyYe, yubing, LuoYuanke.
Herald added a subscriber: StephenFan.
Herald added a project: All.
foad requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.
D105263 <https://reviews.llvm.org/D105263> changed this test to not expect a MachineVerifier error on this
instruction:
; FP16 reg is sub_reg of xmm
%0:_(s16) = COPY $xmm0
but the reality is that MachineVerifier does still report this
instruction as illegal, and the test was ignoring it.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D148534
Files:
llvm/test/MachineVerifier/test_copy_physregs_x86.mir
Index: llvm/test/MachineVerifier/test_copy_physregs_x86.mir
===================================================================
--- llvm/test/MachineVerifier/test_copy_physregs_x86.mir
+++ llvm/test/MachineVerifier/test_copy_physregs_x86.mir
@@ -1,4 +1,4 @@
-#RUN: not --crash llc -march=x86-64 -run-pass=none -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s
+# RUN: not --crash llc -march=x86-64 -run-pass=none -verify-machineinstrs -o /dev/null %s 2>&1 | FileCheck %s -implicit-check-not="Bad machine code"
# REQUIRES: x86-registered-target
# These copies have mismatched type sizes that are allowed because the
@@ -28,27 +28,35 @@
bb.0:
liveins: $xmm0, $xmm1, $xmm2, $xmm3
- ; FP16 reg is sub_reg of xmm
+ ; CHECK: *** Bad machine code: Copy Instruction is illegal with mismatching sizes ***
+ ; CHECK: - instruction: %0:_(s16) = COPY $xmm0
%0:_(s16) = COPY $xmm0
; CHECK: *** Bad machine code: Copy Instruction is illegal with mismatching sizes ***
+ ; CHECK: - instruction: %1:_(<4 x s16>) = COPY $xmm1
%1:_(<4 x s16>) = COPY $xmm1
; CHECK: *** Bad machine code: Copy Instruction is illegal with mismatching sizes ***
+ ; CHECK: - instruction: %2:_(s256) = COPY $xmm2
%2:_(s256) = COPY $xmm2
; CHECK: *** Bad machine code: Copy Instruction is illegal with mismatching sizes ***
+ ; CHECK: - instruction: %3:_(<8 x s32>) = COPY $xmm3
%3:_(<8 x s32>) = COPY $xmm3
- ; FP16 reg is sub_reg of xmm
+ ; CHECK: *** Bad machine code: Copy Instruction is illegal with mismatching sizes ***
+ ; CHECK: - instruction: $xmm0 = COPY %0:_(s16)
$xmm0 = COPY %0
; CHECK: *** Bad machine code: Copy Instruction is illegal with mismatching sizes ***
+ ; CHECK: - instruction: $xmm1 = COPY %1:_(<4 x s16>)
$xmm1 = COPY %1
; CHECK: *** Bad machine code: Copy Instruction is illegal with mismatching sizes ***
+ ; CHECK: - instruction: $xmm2 = COPY %2:_(s256)
$xmm2 = COPY %2
; CHECK: *** Bad machine code: Copy Instruction is illegal with mismatching sizes ***
+ ; CHECK: - instruction: $xmm3 = COPY %3:_(<8 x s32>)
$xmm3 = COPY %3
...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148534.514240.patch
Type: text/x-patch
Size: 2165 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230417/22fe9389/attachment.bin>
More information about the llvm-commits
mailing list