[PATCH] Make hint ranges consistent (Was: For the 16-bit unallocated NOP hints, make disassembly representation consistent with their 32-bit counterparts)
Artyom Skrobov
Artyom.Skrobov at arm.com
Mon Oct 21 04:23:00 PDT 2013
> A1 Hint:
> * Should the hint syntax be conditional as well, to match with the defined
> hint syntaxes? It looks like that whole space is unallocated, so we may as
> well make it available.
The hints did support the conditional syntax from the beginning, although it
was never tested -- not even in my new tests.
These further changes on top of my patch should be sufficient:
diff --git a/test/MC/ARM/basic-arm-instructions.s
b/test/MC/ARM/basic-arm-instructions.s
index 3d2562d..aeec633 100644
--- a/test/MC/ARM/basic-arm-instructions.s
+++ b/test/MC/ARM/basic-arm-instructions.s
@@ -2928,7 +2928,7 @@ Lforward:
hint #2
hint #1
hint #0
- hint #239
+ hintgt #239
@ CHECK: wfe @ encoding: [0x02,0xf0,0x20,0xe3]
@ CHECK: wfehi @ encoding: [0x02,0xf0,0x20,0x83]
@@ -2941,4 +2941,4 @@ Lforward:
@ CHECK: wfe @ encoding: [0x02,0xf0,0x20,0xe3]
@ CHECK: yield @ encoding: [0x01,0xf0,0x20,0xe3]
@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3]
-@ CHECK: hint #239 @ encoding: [0xef,0xf0,0x20,0xe3]
+@ CHECK: hintgt #239 @ encoding: [0xef,0xf0,0x20,0xc3]
diff --git a/test/MC/ARM/basic-thumb2-instructions.s
b/test/MC/ARM/basic-thumb2-instructions.s
index ae88d40..fdb2225 100644
--- a/test/MC/ARM/basic-thumb2-instructions.s
+++ b/test/MC/ARM/basic-thumb2-instructions.s
@@ -3603,9 +3603,10 @@ _func:
hint #1
hint #0
- hint #15
- hint #16
- hint #239
+ itet lt
+ hintlt #15
+ hintge #16
+ hintlt #239
@ CHECK: wfe @ encoding: [0x20,0xbf]
@ CHECK: wfi @ encoding: [0x30,0xbf]
@@ -3625,9 +3626,10 @@ _func:
@ CHECK: yield @ encoding: [0x10,0xbf]
@ CHECK: nop @ encoding: [0x00,0xbf]
-@ CHECK: hint #15 @ encoding: [0xf0,0xbf]
-@ CHECK: hint.w #16 @ encoding: [0xaf,0xf3,0x10,0x80]
-@ CHECK: hint.w #239 @ encoding: [0xaf,0xf3,0xef,0x80]
+@ CHECK: itet lt @ encoding: [0xb6,0xbf]
+@ CHECK: hintlt #15 @ encoding: [0xf0,0xbf]
+@ CHECK: hintge.w #16 @ encoding: [0xaf,0xf3,0x10,0x80]
+@ CHECK: hintlt.w #239 @ encoding: [0xaf,0xf3,0xef,0x80]
@---------------------------------------------------------------------------
---
@ Unallocated wide/narrow hints
> * Why not allow the hint syntax above immediate values of 0xf0? Should the
> DBG instructions not now be re-implemented as hint aliases?
It could be done, but it's hard for me to see any benefit from doing so; and
it would come at the cost of complicating ARMInstPrinter even further.
> T2 Hint
> * Why do we still need the InstAlias for the hint here? Can it not be
> removed like the T1 version?
No, the InstAlias proves necessary for picking up the wide hint when the
value is above #15.
More information about the llvm-commits
mailing list