diff options
| author | Akira Hatanaka <ahatanaka@mips.com> | 2012-08-28 03:03:05 +0000 |
|---|---|---|
| committer | Akira Hatanaka <ahatanaka@mips.com> | 2012-08-28 03:03:05 +0000 |
| commit | 273956d8c6eed86c8b4d616ecb86f7ff17e127d4 (patch) | |
| tree | 00bcde1b3f344dd8cf09ec2fa0e2044ec160118a /test/CodeGen | |
| parent | 8dc440a46a5153a1640a3050480cceca9b8af05d (diff) | |
Fix mips' long branch pass.
Instructions emitted to compute branch offsets now use immediate operands
instead of symbolic labels. This change was needed because there were problems
when R_MIPS_HI16/LO16 relocations were used to make shared objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162731 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen')
| -rw-r--r-- | test/CodeGen/Mips/longbranch.ll | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/test/CodeGen/Mips/longbranch.ll b/test/CodeGen/Mips/longbranch.ll index 0227b88fbc..873b9f1410 100644 --- a/test/CodeGen/Mips/longbranch.ll +++ b/test/CodeGen/Mips/longbranch.ll @@ -6,9 +6,15 @@ define void @foo1(i32 %s) nounwind { entry: ; O32: bal +; O32: lui $at, 0 +; O32: addiu $at, $at, {{[0-9]+}} +; N64: lui $at, 0 +; N64: daddiu $at, $at, 0 +; N64: dsll $at, $at, 16 +; N64: daddiu $at, $at, 0 ; N64: bal -; N64: highest -; N64: higher +; N64: dsll $at, $at, 16 +; N64: daddiu $at, $at, {{[0-9]+}} %tobool = icmp eq i32 %s, 0 br i1 %tobool, label %if.end, label %if.then |
