diff options
author | Stephen Hines <srhines@google.com> | 2014-04-23 16:57:46 -0700 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2014-04-24 15:53:16 -0700 |
commit | 36b56886974eae4f9c5ebc96befd3e7bfe5de338 (patch) | |
tree | e6cfb69fbbd937f450eeb83bfb83b9da3b01275a /test/MC/Mips/do_switch2.s | |
parent | 69a8640022b04415ae9fac62f8ab090601d8f889 (diff) | |
download | external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.zip external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.gz external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.bz2 |
Update to LLVM 3.5a.
Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
Diffstat (limited to 'test/MC/Mips/do_switch2.s')
-rw-r--r-- | test/MC/Mips/do_switch2.s | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/test/MC/Mips/do_switch2.s b/test/MC/Mips/do_switch2.s new file mode 100644 index 0000000..824054f --- /dev/null +++ b/test/MC/Mips/do_switch2.s @@ -0,0 +1,77 @@ +// This test case will cause an internal EK_GPRel64BlockAddress to be +// produced. This was not handled for direct object and an assertion +// to occur. This is a variation on test case test/CodeGen/Mips/do_switch.ll + +// RUN: llvm-mc < %s -filetype=obj -triple=mips-pc-linux -relocation-model=pic + + .text + .abicalls + .section .mdebug.abi32,"",@progbits + .file "/home/espindola/llvm/llvm/test/MC/Mips/do_switch.ll" + .text + .globl main + .align 2 + .type main,@function + .set nomips16 + .ent main +main: # @main + .frame $sp,8,$ra + .mask 0x00000000,0 + .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, -8 + addiu $1, $zero, 2 + sw $1, 4($sp) + lw $3, 4($sp) + sltiu $1, $3, 4 + bnez $1, $BB0_2 + addu $2, $2, $25 +$BB0_1: # %bb4 + addiu $2, $zero, 4 + jr $ra + addiu $sp, $sp, 8 +$BB0_2: # %entry + sll $1, $3, 2 + lw $3, %got($JTI0_0)($2) + addu $1, $1, $3 + lw $1, %lo($JTI0_0)($1) + addu $1, $1, $2 + jr $1 + nop +$BB0_3: # %bb5 + addiu $2, $zero, 1 + jr $ra + addiu $sp, $sp, 8 +$BB0_4: # %bb1 + addiu $2, $zero, 2 + jr $ra + addiu $sp, $sp, 8 +$BB0_5: # %bb2 + addiu $2, $zero, 0 + jr $ra + addiu $sp, $sp, 8 +$BB0_6: # %bb3 + addiu $2, $zero, 3 + jr $ra + addiu $sp, $sp, 8 + .set at + .set macro + .set reorder + .end main +$tmp0: + .size main, ($tmp0)-main + .section .rodata,"a",@progbits + .align 2 +$JTI0_0: + .gpword ($BB0_3) + .gpword ($BB0_4) + .gpword ($BB0_5) + .gpword ($BB0_6) + + + .text |