mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-09 11:25:55 +00:00
Convert one last llc -filetype=obj test.
Unfortunately this one fails deep inside the mips backend, so xfail it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205042 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1,29 +0,0 @@
|
|||||||
; RUN: llc -filetype=obj -mtriple mipsel-unknown-linux -mxgot %s -o - | llvm-readobj -r | FileCheck %s
|
|
||||||
|
|
||||||
@.str = private unnamed_addr constant [16 x i8] c"ext_1=%d, i=%d\0A\00", align 1
|
|
||||||
@ext_1 = external global i32
|
|
||||||
|
|
||||||
define void @fill() nounwind {
|
|
||||||
entry:
|
|
||||||
|
|
||||||
; Check that the appropriate relocations were created.
|
|
||||||
; For the xgot case we want to see R_MIPS_[GOT|CALL]_[HI|LO]16.
|
|
||||||
|
|
||||||
; CHECK: Relocations [
|
|
||||||
; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_HI16
|
|
||||||
; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_LO16
|
|
||||||
; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_HI16
|
|
||||||
; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_LO16
|
|
||||||
; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_CALL_HI16
|
|
||||||
; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_CALL_LO16
|
|
||||||
; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT
|
|
||||||
; CHECK: 0x{{[0-9,A-F]+}} R_MIPS_LO16
|
|
||||||
; CHECK: ]
|
|
||||||
|
|
||||||
%0 = load i32* @ext_1, align 4
|
|
||||||
%call = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([16 x i8]* @.str, i32 0, i32 0), i32 %0) nounwind
|
|
||||||
ret void
|
|
||||||
}
|
|
||||||
|
|
||||||
declare i32 @printf(i8* nocapture, ...) nounwind
|
|
||||||
|
|
70
test/MC/Mips/xgot.s
Normal file
70
test/MC/Mips/xgot.s
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
// RUN: llvm-mc -filetype=obj -triple mipsel-unknown-linux %s -o - | llvm-readobj -r | FileCheck %s
|
||||||
|
|
||||||
|
// Expected failure since the mips backend can't handle this yet.
|
||||||
|
// XFAIL: *
|
||||||
|
|
||||||
|
// Check that the appropriate relocations were created.
|
||||||
|
// For the xgot case we want to see R_MIPS_[GOT|CALL]_[HI|LO]16.
|
||||||
|
|
||||||
|
// CHECK: Relocations [
|
||||||
|
// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_HI16
|
||||||
|
// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_LO16
|
||||||
|
// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_HI16
|
||||||
|
// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT_LO16
|
||||||
|
// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_CALL_HI16
|
||||||
|
// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_CALL_LO16
|
||||||
|
// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_GOT
|
||||||
|
// CHECK: 0x{{[0-9,A-F]+}} R_MIPS_LO16
|
||||||
|
// CHECK: ]
|
||||||
|
|
||||||
|
.text
|
||||||
|
.abicalls
|
||||||
|
.section .mdebug.abi32,"",@progbits
|
||||||
|
.file "/home/espindola/llvm/llvm/test/MC/Mips/xgot.ll"
|
||||||
|
.text
|
||||||
|
.globl fill
|
||||||
|
.align 2
|
||||||
|
.type fill,@function
|
||||||
|
.set nomips16
|
||||||
|
.ent fill
|
||||||
|
fill: # @fill
|
||||||
|
.frame $sp,24,$ra
|
||||||
|
.mask 0x80000000,-4
|
||||||
|
.fmask 0x00000000,0
|
||||||
|
.set noreorder
|
||||||
|
.set nomacro
|
||||||
|
.set noat
|
||||||
|
# BB#0: # %entry
|
||||||
|
lui $2, %hi(_gp_disp)
|
||||||
|
addiu $2, $2, %lo(_gp_disp)
|
||||||
|
addiu $sp, $sp, -24
|
||||||
|
sw $ra, 20($sp) # 4-byte Folded Spill
|
||||||
|
addu $gp, $2, $25
|
||||||
|
lui $1, %got_hi(ext_1)
|
||||||
|
addu $1, $1, $gp
|
||||||
|
lw $1, %got_lo(ext_1)($1)
|
||||||
|
lw $5, 0($1)
|
||||||
|
lui $1, %call_hi(printf)
|
||||||
|
addu $1, $1, $gp
|
||||||
|
lw $2, %got($.str)($gp)
|
||||||
|
lw $25, %call_lo(printf)($1)
|
||||||
|
jalr $25
|
||||||
|
addiu $4, $2, %lo($.str)
|
||||||
|
lw $ra, 20($sp) # 4-byte Folded Reload
|
||||||
|
jr $ra
|
||||||
|
addiu $sp, $sp, 24
|
||||||
|
.set at
|
||||||
|
.set macro
|
||||||
|
.set reorder
|
||||||
|
.end fill
|
||||||
|
$tmp0:
|
||||||
|
.size fill, ($tmp0)-fill
|
||||||
|
|
||||||
|
.type $.str,@object # @.str
|
||||||
|
.section .rodata.str1.1,"aMS",@progbits,1
|
||||||
|
$.str:
|
||||||
|
.asciz "ext_1=%d, i=%d\n"
|
||||||
|
.size $.str, 16
|
||||||
|
|
||||||
|
|
||||||
|
.text
|
Reference in New Issue
Block a user