[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / X86 / GlobalISel / legalize-ashr-scalar.mir
blob0964e06d2b7930d8c8a6ddbf2ab5ca9df9f2e9b6
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=x86_64-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s
3 --- |
5   define void @test_ashr() { ret void }
6   define void @test_ashr_i1() { ret void }
7 ...
8 ---
9 name:            test_ashr
10 alignment:       16
11 legalized:       false
12 regBankSelected: false
13 tracksRegLiveness: true
14 registers:
15   - { id: 0, class: _, preferred-register: '' }
16   - { id: 1, class: _, preferred-register: '' }
17   - { id: 2, class: _, preferred-register: '' }
18   - { id: 3, class: _, preferred-register: '' }
19   - { id: 4, class: _, preferred-register: '' }
20   - { id: 5, class: _, preferred-register: '' }
21   - { id: 6, class: _, preferred-register: '' }
22   - { id: 7, class: _, preferred-register: '' }
23   - { id: 8, class: _, preferred-register: '' }
24   - { id: 9, class: _, preferred-register: '' }
25   - { id: 10, class: _, preferred-register: '' }
26   - { id: 11, class: _, preferred-register: '' }
27 body:             |
28   bb.1 (%ir-block.0):
29     liveins: $rdi, $rsi
31     ; CHECK-LABEL: name: test_ashr
32     ; CHECK: liveins: $rdi, $rsi
33     ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $rdi
34     ; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $rsi
35     ; CHECK: RET 0
36     %0(s64) = COPY $rdi
37     %1(s64) = COPY $rsi
38     %2(s64) = G_ASHR %0, %1
40     %3(s32) = G_TRUNC %0
41     %4(s32) = G_TRUNC %1
42     %5(s32) = G_ASHR %3, %4
44     %6(s16) = G_TRUNC %0
45     %7(s16) = G_TRUNC %1
46     %8(s16) = G_ASHR %6, %7
48     %9(s8) = G_TRUNC %0
49     %10(s8) = G_TRUNC %1
50     %11(s8) = G_ASHR %9, %10
52     RET 0
54 ...
55 ---
56 name:            test_ashr_i1
57 alignment:       16
58 legalized:       false
59 regBankSelected: false
60 tracksRegLiveness: true
61 registers:
62   - { id: 0, class: _, preferred-register: '' }
63   - { id: 1, class: _, preferred-register: '' }
64   - { id: 2, class: _, preferred-register: '' }
65   - { id: 3, class: _, preferred-register: '' }
66   - { id: 4, class: _, preferred-register: '' }
67 body:             |
68   bb.1 (%ir-block.0):
69     liveins: $rdi, $rsi
71     ; CHECK-LABEL: name: test_ashr_i1
72     ; CHECK: liveins: $rdi, $rsi
73     ; CHECK: [[COPY:%[0-9]+]]:_(s64) = COPY $rdi
74     ; CHECK: [[COPY1:%[0-9]+]]:_(s64) = COPY $rsi
75     ; CHECK: RET 0
76     %0(s64) = COPY $rdi
77     %1(s64) = COPY $rsi
78     %2(s1) = G_TRUNC %0
79     %3(s1) = G_TRUNC %1
80     %4(s1) = G_ASHR %2, %3
82     RET 0
84 ...