[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / X86 / GlobalISel / x86-select-inttoptr.mir
blob6b740a18c14784003abdc56eada28ccd4ff4206c
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=i386-linux-gnu -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s
4 --- |
6   define i32* @inttoptr_p0_s32(i32 %val) {
7   entry:
8     %0 = inttoptr i32 %val to i32*
9     ret i32* %0
10   }
12 ...
13 ---
14 name:            inttoptr_p0_s32
15 alignment:       16
16 legalized:       true
17 regBankSelected: true
18 tracksRegLiveness: true
19 registers:
20   - { id: 0, class: gpr }
21   - { id: 1, class: gpr }
22   - { id: 2, class: gpr }
23 frameInfo:
24   maxAlignment:    4
25 fixedStack:
26   - { id: 0, size: 4, alignment: 16, stack-id: default, isImmutable: true }
27 body:             |
28   bb.1.entry:
29     ; CHECK-LABEL: name: inttoptr_p0_s32
30     ; CHECK: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm %fixed-stack.0, 1, $noreg, 0, $noreg :: (invariant load 4 from %fixed-stack.0, align 16)
31     ; CHECK: $eax = COPY [[MOV32rm]]
32     ; CHECK: RET 0, implicit $eax
33     %1:gpr(p0) = G_FRAME_INDEX %fixed-stack.0
34     %0:gpr(s32) = G_LOAD %1(p0) :: (invariant load 4 from %fixed-stack.0, align 16)
35     %2:gpr(p0) = G_INTTOPTR %0(s32)
36     $eax = COPY %2(p0)
37     RET 0, implicit $eax
39 ...