[aarch64-port-dev ] RFR: 8221658: aarch64: add necessary predicate for ubfx patterns

Yangfei (Felix) felix.yang at huawei.com
Mon Apr 1 01:19:16 UTC 2019


The patch adds the following three constraints for 'rshift' and 'mask' operands:

    1. 0 <= rshift <=31/63
    2. mask != 0
    3. rshift + width <= 32/64  (width = exact_log2(mask+1))

    Constraint 3 needs to be implemented by adding a predicate as we are checking both 'rshift' and 'mask' operands. 

    Do you want me to implement constraint 1 & 2 using a match operand? 

Thanks,
Felix

> 
> On 3/30/19 12:58 AM, Yangfei (Felix) wrote:
> >     Please review this patch adding necessary predicate for ubfx patterns in
> aarch64.ad.
> >     Bug: https://bugs.openjdk.java.net/browse/JDK-8221658
> >     Webrev: http://cr.openjdk.java.net/~fyang/8221658/webrev.00
> >
> >     Currently, this issue is only reproduced with an aarch64 8u jdk.
> >     Although it is not reproduced with aarch64 jdk11 or newer versions, it's
> better for them to have this fix.
> >     Jtreg tested with aarch64 jdk8u & jdk13 fastdebug build.  Also passed the
> private fuzz test.
> 
> Can't this be done by using a match operand?
> 



More information about the hotspot-compiler-dev mailing list