[12] RFR 8206895: aarch64: rework error-prone cmp instuction

Andrew Haley aph at redhat.com
Mon Jul 9 14:50:16 UTC 2018

On 07/09/2018 03:31 PM, Boris Ulasevich wrote:
> http://cr.openjdk.java.net/~bulasevich/8206895/webrev.00
> https://bugs.openjdk.java.net/browse/JDK-8206895
> Byte form of cmp instruction was added. For bigger constants we are 
> supposed to state _imm12 postfix implicitly or use cmp(reg,reg,imm) macro.

I don't think that making cmp an alias for subs helps anyone:

+  inline void cmp(Register Rd, Register Rn, unsigned imm32)  { subs(Rd, Rn, imm32); }

I think the best suggestion was to make the 8-bit cmp the only form
allowed, mark the larger cmp as deprecated, and force the user to use
subs.  That would be easier to read than cmp_imm12().

Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

More information about the hotspot-dev mailing list