31 lines
908 B
LLVM
31 lines
908 B
LLVM
; RUN: llc -filetype=obj -mtriple=ve -o - %s | llvm-objdump - -d -r \
|
|
; RUN: | FileCheck %s
|
|
; RUN: llc -filetype=obj -mtriple=ve -relocation-model=pic -o - %s \
|
|
; RUN: | llvm-objdump - -d -r | FileCheck %s -check-prefix=PIC
|
|
|
|
; CHECK: lea %s0, 0
|
|
; CHECK-NEXT: R_VE_LO32 foo
|
|
; CHECK-NEXT: and %s0, %s0, (32)0
|
|
; CHECK-NEXT: lea.sl %s12, (, %s0)
|
|
; CHECK-NEXT: R_VE_HI32 foo
|
|
; PIC: lea %s15, (-24)
|
|
; PIC-NEXT: R_VE_PC_LO32 _GLOBAL_OFFSET_TABLE_
|
|
; PIC-NEXT: and %s15, %s15, (32)0
|
|
; PIC-NEXT: sic %s16
|
|
; PIC-NEXT: lea.sl %s15, (%s16, %s15)
|
|
; PIC-NEXT: R_VE_PC_HI32 _GLOBAL_OFFSET_TABLE_
|
|
; PIC-NEXT: lea %s12, (-24)
|
|
; PIC-NEXT: R_VE_PLT_LO32 foo
|
|
; PIC-NEXT: and %s12, %s12, (32)0
|
|
; PIC-NEXT: sic %s16
|
|
; PIC-NEXT: lea.sl %s12, (%s16, %s12)
|
|
; PIC-NEXT: R_VE_PLT_HI32 foo
|
|
|
|
define i32 @main() {
|
|
entry:
|
|
%call = call i32 @foo()
|
|
ret i32 %call
|
|
}
|
|
|
|
declare i32 @foo()
|