mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 03:29:47 +08:00
* config/tc-hppa.c (pa_ip): Limit unit conditions for uxor to those
not involving a carry.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2012-10-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||||
|
|
||||||
|
* config/tc-hppa.c (pa_ip): Limit unit conditions for uxor to those
|
||||||
|
not involving a carry.
|
||||||
|
|
||||||
2012-10-12 Peter Bergner <bergner@vnet.ibm.com>
|
2012-10-12 Peter Bergner <bergner@vnet.ibm.com>
|
||||||
|
|
||||||
* doc/as.texinfo (-mpwr4, -mpwr7): Fix option name typos.
|
* doc/as.texinfo (-mpwr4, -mpwr7): Fix option name typos.
|
||||||
|
@ -4431,6 +4431,7 @@ pa_ip (char *str)
|
|||||||
flag = 0;
|
flag = 0;
|
||||||
if (*s == ',')
|
if (*s == ',')
|
||||||
{
|
{
|
||||||
|
int uxor;
|
||||||
s++;
|
s++;
|
||||||
|
|
||||||
/* 64 bit conditions. */
|
/* 64 bit conditions. */
|
||||||
@ -4444,6 +4445,9 @@ pa_ip (char *str)
|
|||||||
else if (*s == '*')
|
else if (*s == '*')
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/* The uxor instruction only supports unit conditions
|
||||||
|
not involving carries. */
|
||||||
|
uxor = (opcode & 0xfc000fc0) == 0x08000380;
|
||||||
if (strncasecmp (s, "sbz", 3) == 0)
|
if (strncasecmp (s, "sbz", 3) == 0)
|
||||||
{
|
{
|
||||||
cmpltr = 2;
|
cmpltr = 2;
|
||||||
@ -4454,17 +4458,17 @@ pa_ip (char *str)
|
|||||||
cmpltr = 3;
|
cmpltr = 3;
|
||||||
s += 3;
|
s += 3;
|
||||||
}
|
}
|
||||||
else if (strncasecmp (s, "sdc", 3) == 0)
|
else if (!uxor && strncasecmp (s, "sdc", 3) == 0)
|
||||||
{
|
{
|
||||||
cmpltr = 4;
|
cmpltr = 4;
|
||||||
s += 3;
|
s += 3;
|
||||||
}
|
}
|
||||||
else if (strncasecmp (s, "sbc", 3) == 0)
|
else if (!uxor && strncasecmp (s, "sbc", 3) == 0)
|
||||||
{
|
{
|
||||||
cmpltr = 6;
|
cmpltr = 6;
|
||||||
s += 3;
|
s += 3;
|
||||||
}
|
}
|
||||||
else if (strncasecmp (s, "shc", 3) == 0)
|
else if (!uxor && strncasecmp (s, "shc", 3) == 0)
|
||||||
{
|
{
|
||||||
cmpltr = 7;
|
cmpltr = 7;
|
||||||
s += 3;
|
s += 3;
|
||||||
@ -4487,19 +4491,19 @@ pa_ip (char *str)
|
|||||||
flag = 1;
|
flag = 1;
|
||||||
s += 3;
|
s += 3;
|
||||||
}
|
}
|
||||||
else if (strncasecmp (s, "ndc", 3) == 0)
|
else if (!uxor && strncasecmp (s, "ndc", 3) == 0)
|
||||||
{
|
{
|
||||||
cmpltr = 4;
|
cmpltr = 4;
|
||||||
flag = 1;
|
flag = 1;
|
||||||
s += 3;
|
s += 3;
|
||||||
}
|
}
|
||||||
else if (strncasecmp (s, "nbc", 3) == 0)
|
else if (!uxor && strncasecmp (s, "nbc", 3) == 0)
|
||||||
{
|
{
|
||||||
cmpltr = 6;
|
cmpltr = 6;
|
||||||
flag = 1;
|
flag = 1;
|
||||||
s += 3;
|
s += 3;
|
||||||
}
|
}
|
||||||
else if (strncasecmp (s, "nhc", 3) == 0)
|
else if (!uxor && strncasecmp (s, "nhc", 3) == 0)
|
||||||
{
|
{
|
||||||
cmpltr = 7;
|
cmpltr = 7;
|
||||||
flag = 1;
|
flag = 1;
|
||||||
@ -4511,7 +4515,7 @@ pa_ip (char *str)
|
|||||||
flag = 0;
|
flag = 0;
|
||||||
s += 3;
|
s += 3;
|
||||||
}
|
}
|
||||||
else if (strncasecmp (s, "swc", 3) == 0)
|
else if (!uxor && strncasecmp (s, "swc", 3) == 0)
|
||||||
{
|
{
|
||||||
cmpltr = 5;
|
cmpltr = 5;
|
||||||
flag = 0;
|
flag = 0;
|
||||||
@ -4523,7 +4527,7 @@ pa_ip (char *str)
|
|||||||
flag = 1;
|
flag = 1;
|
||||||
s += 3;
|
s += 3;
|
||||||
}
|
}
|
||||||
else if (strncasecmp (s, "nwc", 3) == 0)
|
else if (!uxor && strncasecmp (s, "nwc", 3) == 0)
|
||||||
{
|
{
|
||||||
cmpltr = 5;
|
cmpltr = 5;
|
||||||
flag = 1;
|
flag = 1;
|
||||||
|
Reference in New Issue
Block a user