diff options
author | Simon Dardis <simon.dardis@imgtec.com> | 2017-09-28 15:24:07 +0000 |
---|---|---|
committer | Simon Dardis <simon.dardis@imgtec.com> | 2017-09-28 15:24:07 +0000 |
commit | 50fa9920212be6cdf101f508f6e9d8d719940125 (patch) | |
tree | 1fe035bc6bdeb5b50f0b1873ea54af2be57b3cfe /test/MC | |
parent | 55a93de5029fbe88b850db6c0e59e97c051d36d2 (diff) | |
download | llvm-50fa9920212be6cdf101f508f6e9d8d719940125.tar.gz |
[mips] Remove codegen support for branch likely instructions.
This patch disables codegen support for branch likely instructions to
address a potential bug. These branches were unselectable as
they had the same patterns as the normal branches but came after them
when ISel was concerned.
The branch likely instructions were marked as having no delay
slots when they have annulling delay slots. The delay slot filler
does not currently handle annulling delay slot branches, so this
would lead to wrong codegen if these branches were generated.
Reviewers: atanasyan, nitesh.jain
Differential Revision: https://reviews.llvm.org/D38169
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314421 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/Mips/mips-jump-delay-slots.s | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/test/MC/Mips/mips-jump-delay-slots.s b/test/MC/Mips/mips-jump-delay-slots.s index c52416fe156..8a0781103e9 100644 --- a/test/MC/Mips/mips-jump-delay-slots.s +++ b/test/MC/Mips/mips-jump-delay-slots.s @@ -1,5 +1,4 @@ -# Verify that every branch and jump instruction is followed by a delay slot -# except for the branch likely instructions. +# Verify that every branch and jump instruction is followed by a delay slot. # # RUN: llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32r2 | FileCheck %s @@ -48,52 +47,52 @@ beqz $11,1332 # CHECK: bc1fl 1332 - # CHECK-NOT: nop + # CHECK: nop bc1fl 1332 # CHECK: bc1fl 1332 - # CHECK-NOT: nop + # CHECK: nop bc1fl $fcc0, 1332 # CHECK: bc1fl $fcc3, 1332 - # CHECK-NOT: nop + # CHECK: nop bc1fl $fcc3, 1332 # CHECK: bc1tl 1332 - # CHECK-NOT: nop + # CHECK: nop bc1tl 1332 # CHECK: bc1tl 1332 - # CHECK-NOT: nop + # CHECK: nop bc1tl $fcc0, 1332 # CHECK: bc1tl $fcc3, 1332 - # CHECK-NOT: nop + # CHECK: nop bc1tl $fcc3, 1332 # CHECK: beql $9, $6, 1332 - # CHECK-NOT: nop + # CHECK: nop beql $9,$6,1332 # CHECK: beql $9, $zero, 1332 - # CHECK-NOT: nop + # CHECK: nop beqzl $9,1332 # CHECK: bnel $9, $6, 1332 - # CHECK-NOT: nop + # CHECK: nop bnel $9,$6,1332 # CHECK: bnel $9, $zero, 1332 - # CHECK-NOT: nop + # CHECK: nop bnezl $9,1332 # CHECK: bgezl $6, 1332 - # CHECK-NOT: nop + # CHECK: nop bgezl $6,1332 # CHECK: bgtzl $6, 1332 - # CHECK-NOT: nop + # CHECK: nop bgtzl $6,1332 # CHECK: blezl $6, 1332 - # CHECK-NOT: nop + # CHECK: nop blezl $6,1332 # CHECK: bltzl $6, 1332 - # CHECK-NOT: nop + # CHECK: nop bltzl $6,1332 # CHECK: bgezall $6, 1332 - # CHECK-NOT: nop + # CHECK: nop bgezall $6,1332 # CHECK: bltzall $6, 1332 - # CHECK-NOT: nop + # CHECK: nop bltzall $6,1332 # CHECK: j 1328 |