gas: support for the sparc %ncc condition codes register.
gas/ChangeLog: 2015-05-06 Jose E. Marchesi <jose.marchesi@oracle.com> * config/tc-sparc.c (sparc_ip): Support the %ncc "natural" condition codes * doc/c-sparc.texi (Sparc-Regs): Document %ncc. gas/testsuite/ChangeLog: 2015-05-06 Jose E. Marchesi <jose.marchesi@oracle.com> * gas/sparc/natural.s: New file. * gas/sparc/natural-32.s: Likewise. * gas/sparc/natural.d: Likewise. * gas/sparc/natural-32.d: Likewise. * gas/sparc/sparc.exp (sparc_elf_setup): Run the tests natural and natural-32.
This commit is contained in:
parent
9ac47a43ff
commit
f9911bebca
@ -1,3 +1,9 @@
|
||||
2015-05-06 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||||
|
||||
* config/tc-sparc.c (sparc_ip): Support the %ncc "natural"
|
||||
condition codes
|
||||
* doc/c-sparc.texi (Sparc-Regs): Document %ncc.
|
||||
|
||||
2015-05-06 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* doc/as.texinfo (Dollar Local Labels): Note that these are only
|
||||
|
@ -1973,7 +1973,8 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
|
||||
{
|
||||
++s;
|
||||
}
|
||||
if (strncmp (s, "%icc", 4) == 0)
|
||||
if ((strncmp (s, "%icc", 4) == 0)
|
||||
|| (sparc_arch_size == 32 && strncmp (s, "%ncc", 4) == 0))
|
||||
{
|
||||
s += 4;
|
||||
continue;
|
||||
@ -1985,7 +1986,8 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
|
||||
{
|
||||
++s;
|
||||
}
|
||||
if (strncmp (s, "%xcc", 4) == 0)
|
||||
if ((strncmp (s, "%xcc", 4) == 0)
|
||||
|| (sparc_arch_size == 64 && strncmp (s, "%ncc", 4) == 0))
|
||||
{
|
||||
s += 4;
|
||||
continue;
|
||||
|
@ -303,6 +303,10 @@ Various V9 branch and conditional move instructions allow
|
||||
specification of which set of integer condition codes to
|
||||
test. These are referred to as @samp{%xcc} and @samp{%icc}.
|
||||
|
||||
Additionally, GAS supports the so-called ``natural'' condition codes;
|
||||
these are referred to as @samp{%ncc} and reference to @samp{%icc} if
|
||||
the word size is 32, @samp{%xcc} if the word size is 64.
|
||||
|
||||
In V9, there are 4 sets of floating point condition codes
|
||||
which are referred to as @samp{%fcc@var{n}}.
|
||||
|
||||
|
@ -1,3 +1,13 @@
|
||||
2015-05-06 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||||
|
||||
|
||||
* gas/sparc/natural.s: New file.
|
||||
* gas/sparc/natural-32.s: Likewise.
|
||||
* gas/sparc/natural.d: Likewise.
|
||||
* gas/sparc/natural-32.d: Likewise.
|
||||
* gas/sparc/sparc.exp (sparc_elf_setup): Run the tests natural and
|
||||
natural-32.
|
||||
|
||||
2015-05-06 Renlin Li <renlin.li@arm.com>
|
||||
|
||||
* gas/aarch64/codealign_1.s: New.
|
||||
|
10
gas/testsuite/gas/sparc/natural-32.d
Normal file
10
gas/testsuite/gas/sparc/natural-32.d
Normal file
@ -0,0 +1,10 @@
|
||||
#as: -Av9 -32
|
||||
#objdump: -dr --prefix-addresses
|
||||
#name: sparc natural regs and insns
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
0x00000000 b %icc, 0x00000008
|
||||
0x0+0000004 nop
|
||||
0x0+0000008 nop
|
5
gas/testsuite/gas/sparc/natural-32.s
Normal file
5
gas/testsuite/gas/sparc/natural-32.s
Normal file
@ -0,0 +1,5 @@
|
||||
# Test SPARC "natural" registers and instructions
|
||||
.text
|
||||
ba %ncc, 0f
|
||||
nop
|
||||
0: nop
|
10
gas/testsuite/gas/sparc/natural.d
Normal file
10
gas/testsuite/gas/sparc/natural.d
Normal file
@ -0,0 +1,10 @@
|
||||
#as: -Av9 -64
|
||||
#objdump: -dr --prefix-addresses
|
||||
#name: sparc natural regs and insns
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
0x0+0000000 b %xcc, 0x0+0000008
|
||||
0x0+0000004 nop
|
||||
0x0+0000008 nop
|
5
gas/testsuite/gas/sparc/natural.s
Normal file
5
gas/testsuite/gas/sparc/natural.s
Normal file
@ -0,0 +1,5 @@
|
||||
# Test SPARC "natural" registers and instructions
|
||||
.text
|
||||
ba %ncc, 0f
|
||||
nop
|
||||
0: nop
|
@ -93,6 +93,8 @@ if [istarget sparc*-*-*] {
|
||||
run_dump_test "mwait"
|
||||
run_dump_test "mcdper"
|
||||
run_dump_test "sparc5vis4"
|
||||
run_dump_test "natural"
|
||||
run_dump_test "natural-32"
|
||||
|
||||
run_list_test "pr4587" ""
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user