1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -mtriple=x86_64-linux-gnu -global-isel -verify-machineinstrs < %s -o - | FileCheck %s --check-prefix=CHECK 3 4define i1 @ptrtoint_s1_p0(ptr %p) { 5; CHECK-LABEL: ptrtoint_s1_p0: 6; CHECK: # %bb.0: # %entry 7; CHECK-NEXT: movq %rdi, %rax 8; CHECK-NEXT: # kill: def $al killed $al killed $rax 9; CHECK-NEXT: retq 10entry: 11 %0 = ptrtoint ptr %p to i1 12 ret i1 %0 13} 14 15define i8 @ptrtoint_s8_p0(ptr %p) { 16; CHECK-LABEL: ptrtoint_s8_p0: 17; CHECK: # %bb.0: # %entry 18; CHECK-NEXT: movq %rdi, %rax 19; CHECK-NEXT: # kill: def $al killed $al killed $rax 20; CHECK-NEXT: retq 21entry: 22 %0 = ptrtoint ptr %p to i8 23 ret i8 %0 24} 25 26define i16 @ptrtoint_s16_p0(ptr %p) { 27; CHECK-LABEL: ptrtoint_s16_p0: 28; CHECK: # %bb.0: # %entry 29; CHECK-NEXT: movq %rdi, %rax 30; CHECK-NEXT: # kill: def $ax killed $ax killed $rax 31; CHECK-NEXT: retq 32entry: 33 %0 = ptrtoint ptr %p to i16 34 ret i16 %0 35} 36 37define i32 @ptrtoint_s32_p0(ptr %p) { 38; CHECK-LABEL: ptrtoint_s32_p0: 39; CHECK: # %bb.0: # %entry 40; CHECK-NEXT: movq %rdi, %rax 41; CHECK-NEXT: # kill: def $eax killed $eax killed $rax 42; CHECK-NEXT: retq 43entry: 44 %0 = ptrtoint ptr %p to i32 45 ret i32 %0 46} 47 48define i64 @ptrtoint_s64_p0(ptr %p) { 49; CHECK-LABEL: ptrtoint_s64_p0: 50; CHECK: # %bb.0: # %entry 51; CHECK-NEXT: movq %rdi, %rax 52; CHECK-NEXT: retq 53entry: 54 %0 = ptrtoint ptr %p to i64 55 ret i64 %0 56} 57