Commit 8ad9df62 by Joern Rennecke Committed by Joern Rennecke

arc.c (arc_print_operand): Print integer 'H' / 'L'

2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
            Andrew Burgess  <andrew.burgess@embecosm.com>
gcc:
        * config/arc/arc.c (arc_print_operand): Print integer 'H' / 'L'
gcc/testsuite:
        * gcc.target/arc/movh_cl-1.c: New file.

Co-Authored-By: Andrew Burgess <andrew.burgess@embecosm.com>

From-SVN: r235600
parent 0d1892d2
2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
Andrew Burgess <andrew.burgess@embecosm.com>
* config/arc/arc.c (arc_print_operand): Print integer 'H' / 'L'
operands as 32-bits.
2016-04-28 Jason Merrill <jason@redhat.com> 2016-04-28 Jason Merrill <jason@redhat.com>
* gdbinit.in: Skip line-map.h. * gdbinit.in: Skip line-map.h.
......
...@@ -3235,19 +3235,17 @@ arc_print_operand (FILE *file, rtx x, int code) ...@@ -3235,19 +3235,17 @@ arc_print_operand (FILE *file, rtx x, int code)
else if (GET_CODE (x) == CONST_INT else if (GET_CODE (x) == CONST_INT
|| GET_CODE (x) == CONST_DOUBLE) || GET_CODE (x) == CONST_DOUBLE)
{ {
rtx first, second; rtx first, second, word;
split_double (x, &first, &second); split_double (x, &first, &second);
if((WORDS_BIG_ENDIAN) == 0) if((WORDS_BIG_ENDIAN) == 0)
fprintf (file, "0x%08" PRIx64, word = (code == 'L' ? first : second);
code == 'L' ? INTVAL (first) : INTVAL (second));
else else
fprintf (file, "0x%08" PRIx64, word = (code == 'L' ? second : first);
code == 'L' ? INTVAL (second) : INTVAL (first));
fprintf (file, "0x%08" PRIx32, ((uint32_t) INTVAL (word)));
} }
else else
output_operand_lossage ("invalid operand to %%H/%%L code"); output_operand_lossage ("invalid operand to %%H/%%L code");
return; return;
......
2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com> 2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
Andrew Burgess <andrew.burgess@embecosm.com> Andrew Burgess <andrew.burgess@embecosm.com>
* gcc.target/arc/movh_cl-1.c: New file.
2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
Andrew Burgess <andrew.burgess@embecosm.com>
* gcc.target/arc/extzv-1.c: New file. * gcc.target/arc/extzv-1.c: New file.
* gcc.target/arc/insv-1.c: New file. * gcc.target/arc/insv-1.c: New file.
* gcc.target/arc/insv-2.c: New file. * gcc.target/arc/insv-2.c: New file.
......
/* { dg-do compile } */
/* { dg-options "-mcpu=nps400 -O2 -mbitops" } */
struct thing
{
union
{
int raw;
struct
{
unsigned a : 1;
unsigned b : 1;
};
};
};
extern void func (int);
void
blah ()
{
struct thing xx;
xx.a = xx.b = 1;
func (xx.raw);
}
/* { dg-final { scan-assembler "movh\.cl r\[0-9\]+,0xc0000000>>16" } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment