| # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py |
| # RUN: llc -mtriple=i386-linux-gnu -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s |
| |
| --- | |
| |
| define i32* @inttoptr_p0_s32(i32 %val) { |
| entry: |
| %0 = inttoptr i32 %val to i32* |
| ret i32* %0 |
| } |
| |
| ... |
| --- |
| name: inttoptr_p0_s32 |
| alignment: 4 |
| legalized: true |
| regBankSelected: true |
| tracksRegLiveness: true |
| registers: |
| - { id: 0, class: gpr } |
| - { id: 1, class: gpr } |
| - { id: 2, class: gpr } |
| frameInfo: |
| maxAlignment: 4 |
| fixedStack: |
| - { id: 0, size: 4, alignment: 16, stack-id: 0, isImmutable: true } |
| body: | |
| bb.1.entry: |
| ; CHECK-LABEL: name: inttoptr_p0_s32 |
| ; CHECK: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm %fixed-stack.0, 1, $noreg, 0, $noreg :: (invariant load 4 from %fixed-stack.0, align 0) |
| ; CHECK: $eax = COPY [[MOV32rm]] |
| ; CHECK: RET 0, implicit $eax |
| %1:gpr(p0) = G_FRAME_INDEX %fixed-stack.0 |
| %0:gpr(s32) = G_LOAD %1(p0) :: (invariant load 4 from %fixed-stack.0, align 0) |
| %2:gpr(p0) = G_INTTOPTR %0(s32) |
| $eax = COPY %2(p0) |
| RET 0, implicit $eax |
| |
| ... |