xref: /llvm-project/llvm/test/CodeGen/X86/GlobalISel/x86-select-inttoptr.mir (revision 60442f0d442723a487528bdd8b48b24657a025e8)
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
3
4--- |
5
6  define ptr @inttoptr_p0_s32(i32 %val) {
7  entry:
8    %0 = inttoptr i32 %val to ptr
9    ret ptr %0
10  }
11
12...
13---
14name:            inttoptr_p0_s32
15alignment:       16
16legalized:       true
17regBankSelected: true
18tracksRegLiveness: true
19registers:
20  - { id: 0, class: gpr }
21  - { id: 1, class: gpr }
22  - { id: 2, class: gpr }
23frameInfo:
24  maxAlignment:    4
25fixedStack:
26  - { id: 0, size: 4, alignment: 16, stack-id: default, isImmutable: true }
27body:             |
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 (s32) 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 (s32) from %fixed-stack.0, align 16)
35    %2:gpr(p0) = G_INTTOPTR %0(s32)
36    $eax = COPY %2(p0)
37    RET 0, implicit $eax
38
39...
40