mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-12 22:30:12 +00:00
[SPARC] Repair floating-point condition encodings in assembly parser.
The encodings for floating point conditions A(lways) and N(ever) were incorrectly specified for the assembly parser, per Sparc manual v8 page 121. This change corrects that mistake. Also, strangely, all of the branch instructions already had MC test cases, except for the broken ones. Added the tests. Patch by Chris Dewhurst Differential Revision: http://reviews.llvm.org/D17074 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260390 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a70447cea6
commit
c7f8b27879
@ -267,9 +267,9 @@ defm : int_cond_alias<"neg", 0b0110>;
|
||||
defm : int_cond_alias<"vc", 0b1111>;
|
||||
defm : int_cond_alias<"vs", 0b0111>;
|
||||
|
||||
defm : fp_cond_alias<"a", 0b0000>;
|
||||
defm : fp_cond_alias<"", 0b0000>; // same as a; gnu asm, not in manual
|
||||
defm : fp_cond_alias<"n", 0b1000>;
|
||||
defm : fp_cond_alias<"a", 0b1000>;
|
||||
defm : fp_cond_alias<"", 0b1000>; // same as a; gnu asm, not in manual
|
||||
defm : fp_cond_alias<"n", 0b0000>;
|
||||
defm : fp_cond_alias<"u", 0b0111>;
|
||||
defm : fp_cond_alias<"g", 0b0110>;
|
||||
defm : fp_cond_alias<"ug", 0b0101>;
|
||||
|
@ -124,6 +124,18 @@
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
|
||||
bvs .BB0
|
||||
|
||||
! CHECK: fba .BB0 ! encoding: [0x11,0b10AAAAAA,A,A]
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
|
||||
fba .BB0
|
||||
|
||||
! CHECK: fba .BB0 ! encoding: [0x11,0b10AAAAAA,A,A]
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
|
||||
fb .BB0
|
||||
|
||||
! CHECK: fbn .BB0 ! encoding: [0x01,0b10AAAAAA,A,A]
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
|
||||
fbn .BB0
|
||||
|
||||
! CHECK: fbu .BB0 ! encoding: [0x0f,0b10AAAAAA,A,A]
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
|
||||
fbu .BB0
|
||||
@ -131,6 +143,7 @@
|
||||
! CHECK: fbg .BB0 ! encoding: [0x0d,0b10AAAAAA,A,A]
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
|
||||
fbg .BB0
|
||||
|
||||
! CHECK: fbug .BB0 ! encoding: [0x0b,0b10AAAAAA,A,A]
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
|
||||
fbug .BB0
|
||||
|
@ -770,6 +770,18 @@
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
|
||||
bpos,a,pt %xcc, .BB0
|
||||
|
||||
! CHECK: fba %fcc0, .BB0 ! encoding: [0x11,0b01001AAA,A,A]
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
|
||||
fba %fcc0, .BB0
|
||||
|
||||
! CHECK: fba %fcc0, .BB0 ! encoding: [0x11,0b01001AAA,A,A]
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
|
||||
fb %fcc0, .BB0
|
||||
|
||||
! CHECK: fbn %fcc0, .BB0 ! encoding: [0x01,0b01001AAA,A,A]
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
|
||||
fbn %fcc0, .BB0
|
||||
|
||||
! CHECK: fbu %fcc0, .BB0 ! encoding: [0x0f,0b01001AAA,A,A]
|
||||
! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br19
|
||||
fbu %fcc0, .BB0
|
||||
|
Loading…
x
Reference in New Issue
Block a user