blob: cd9aadbd1836fbce695e9dc7c61fe1dcf7b240af [file] [log] [blame]
; Simple test of the load instruction.
; TODO(kschimpf) Find out why lc2i is needed.
; RUN: %lc2i -i %s --args --verbose inst | FileCheck %s
; RUN: %p2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s
; RUN: %lc2i -i %s --insts | %szdiff %s | FileCheck --check-prefix=DUMP %s
define void @load_i64(i32 %addr_arg) {
entry:
%__1 = inttoptr i32 %addr_arg to i64*
%iv = load i64* %__1, align 1
ret void
; CHECK: Initial CFG
; CHECK: %__1 = i32 %addr_arg
; CHECK-NEXT: %iv = load i64* {{.*}}, align 1
; CHECK-NEXT: ret void
}
define void @load_i32(i32 %addr_arg) {
entry:
%__1 = inttoptr i32 %addr_arg to i32*
%iv = load i32* %__1, align 1
ret void
; CHECK: Initial CFG
; CHECK: %__1 = i32 %addr_arg
; CHECK-NEXT: %iv = load i32* {{.*}}, align 1
; CHECK-NEXT: ret void
}
define void @load_i16(i32 %addr_arg) {
entry:
%__1 = inttoptr i32 %addr_arg to i16*
%iv = load i16* %__1, align 1
ret void
; CHECK: Initial CFG
; CHECK: %__1 = i32 %addr_arg
; CHECK-NEXT: %iv = load i16* {{.*}}, align 1
; CHECK-NEXT: ret void
}
define void @load_i8(i32 %addr_arg) {
entry:
%__1 = inttoptr i32 %addr_arg to i8*
%iv = load i8* %__1, align 1
ret void
; CHECK: Initial CFG
; CHECK: %__1 = i32 %addr_arg
; CHECK-NEXT: %iv = load i8* {{.*}}, align 1
; CHECK-NEXT: ret void
}
; ERRORS-NOT: ICE translation error
; DUMP-NOT: SZ