xref: /llvm-project/llvm/test/CodeGen/X86/GlobalISel/legalize-icmp-vec.mir (revision fb394562a3cf3522ac17a1436234ef5b926636fb)
1# RUN: llc -mtriple=x86_64-linux-gnu -run-pass=legalizer -global-isel-abort=2 -pass-remarks-missed='gisel*' %s -o - 2>%t | FileCheck %s
2# RUN: FileCheck -check-prefix=ILLEGAL %s < %t
3
4# ILLEGAL: remark: <unknown>:0:0: unable to legalize instruction: %2:_(<4 x s1>) = G_ICMP intpred(sle), %0:_(<4 x s64>), %1:_ (in function: test_icmp_v4i64)
5
6# PR86203
7---
8name: test_icmp_v4i64
9tracksRegLiveness: true
10body:             |
11  bb.1:
12    ; CHECK-LABEL: name: test_icmp_v4i64
13    ; CHECK: [[DEF:%[0-9]+]]:_(<4 x s64>) = G_IMPLICIT_DEF
14    ; CHECK-NEXT: [[DEF1:%[0-9]+]]:_(<4 x s64>) = G_IMPLICIT_DEF
15    ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(<4 x s1>) = G_ICMP intpred(sle), [[DEF]](<4 x s64>), [[DEF1]]
16    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(<4 x s32>) = G_ANYEXT [[ICMP]](<4 x s1>)
17    ; CHECK-NEXT: $xmm0 = COPY [[ANYEXT]](<4 x s32>)
18    ; CHECK-NEXT: RET 0, implicit $xmm0
19    %0:_(<4 x s64>) = G_IMPLICIT_DEF
20    %1:_(<4 x s64>) = G_IMPLICIT_DEF
21    %3:_(<4 x s1>) = G_ICMP intpred(sle), %0(<4 x s64>), %1
22    %4:_(<4 x s32>) = G_ANYEXT %3(<4 x s1>)
23    $xmm0 = COPY %4(<4 x s32>)
24    RET 0, implicit $xmm0
25...
26