PR gas/11395
* config/tc-hppa.c (pa_ip): Set doubleword carry/borrow bit when a doubleword completer or doubleword condition is found in an add/sub instruction. Reject match for 'A'/'S' only if there is no condition and d bit is not set. * gas/hppa/basic/add2.s: Add test for a simple doubleword carry instruction. * gas/hppa/basic/sub2.s: Add tests for simple word and doubleword borrow instructions. * gas/hppa/basic/basic.exp: Update regexps for above. * opcode/hppa.h: Clear "d" bit in "add" and "sub" patterns.
This commit is contained in:
@ -634,20 +634,20 @@ static const struct pa_opcode pa_opcodes[] =
|
||||
{ "addio", 0xb4000800, 0xfc000800, "?ai,b,x", pa10, 0},
|
||||
{ "addit", 0xb0000000, 0xfc000800, "?ai,b,x", pa10, 0},
|
||||
{ "addito", 0xb0000800, 0xfc000800, "?ai,b,x", pa10, 0},
|
||||
{ "add", 0x08000720, 0xfc0007e0, "cY?Ax,b,t", pa20, FLAG_STRICT},
|
||||
{ "add", 0x08000700, 0xfc0007e0, "cY?Ax,b,t", pa20, FLAG_STRICT},
|
||||
{ "add", 0x08000700, 0xfc0007e0, "cy?ax,b,t", pa10, FLAG_STRICT},
|
||||
{ "add", 0x08000220, 0xfc0003e0, "ca?Ax,b,t", pa20, FLAG_STRICT},
|
||||
{ "add", 0x08000200, 0xfc0003e0, "ca?Ax,b,t", pa20, FLAG_STRICT},
|
||||
{ "add", 0x08000200, 0xfc0003e0, "ca?ax,b,t", pa10, FLAG_STRICT},
|
||||
{ "add", 0x08000600, 0xfc000fe0, "?ax,b,t", pa10, 0},
|
||||
{ "addl", 0x08000a00, 0xfc000fe0, "?ax,b,t", pa10, 0},
|
||||
{ "addo", 0x08000e00, 0xfc000fe0, "?ax,b,t", pa10, 0},
|
||||
{ "addc", 0x08000700, 0xfc000fe0, "?ax,b,t", pa10, 0},
|
||||
{ "addco", 0x08000f00, 0xfc000fe0, "?ax,b,t", pa10, 0},
|
||||
{ "sub", 0x080004e0, 0xfc0007e0, "ct?Sx,b,t", pa20, FLAG_STRICT},
|
||||
{ "sub", 0x080004c0, 0xfc0007e0, "ct?Sx,b,t", pa20, FLAG_STRICT},
|
||||
{ "sub", 0x080004c0, 0xfc0007e0, "ct?sx,b,t", pa10, FLAG_STRICT},
|
||||
{ "sub", 0x08000520, 0xfc0007e0, "cB?Sx,b,t", pa20, FLAG_STRICT},
|
||||
{ "sub", 0x08000500, 0xfc0007e0, "cB?Sx,b,t", pa20, FLAG_STRICT},
|
||||
{ "sub", 0x08000500, 0xfc0007e0, "cb?sx,b,t", pa10, FLAG_STRICT},
|
||||
{ "sub", 0x08000420, 0xfc0007e0, "cv?Sx,b,t", pa20, FLAG_STRICT},
|
||||
{ "sub", 0x08000400, 0xfc0007e0, "cv?Sx,b,t", pa20, FLAG_STRICT},
|
||||
{ "sub", 0x08000400, 0xfc0007e0, "cv?sx,b,t", pa10, FLAG_STRICT},
|
||||
{ "sub", 0x08000400, 0xfc000fe0, "?sx,b,t", pa10, 0},
|
||||
{ "subo", 0x08000c00, 0xfc000fe0, "?sx,b,t", pa10, 0},
|
||||
|
Reference in New Issue
Block a user