[aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations

Zhongwei Yao zhongwei.yao at linaro.org
Fri Jun 30 01:51:51 UTC 2017


On 28 June 2017 at 23:55, Zhongwei Yao <zhongwei.yao at linaro.org> wrote:

>
>
> On 28 June 2017 at 20:20, Andrew Haley <aph at redhat.com> wrote:
>
>> On 27/06/17 04:16, Zhongwei Yao wrote:
>> > [ I re-send this mail due to my attachment is too big and the previous
>> mail
>> > is under approving. ]
>> >
>> > It is strange, because I haven't seen such pattern locally.
>> >
>> > Here is what I do (jdk is built as fastdebug based on latest master
>> with my
>> > patch applied):
>> >   $java -XX:+PrintCompilation -XX:-TieredCompilation
>> > -XX:CompilerDirectivesFile=/tmp/compile_directive.txt ExtTest >
>> > func_ExtTest_20170627_10_41_56.log
>> >
>> > log file is at
>> > http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_20170
>> 627_10_41_56.log
>>
>> I see this in tha file:
>>
>>   0x0000ffff908fb7e4: stp       x29, x30, [sp,#16]  ;*synchronization
>> entry
>>                                                 ; - ExtTest$28::func at -1
>> (line 241)
>>
>>   0x0000ffff908fb7e8: sbfx      w11, w2, #0, #30
>>   0x0000ffff908fb7ec: add       w0, w3, w11, lsl #1  ;*iadd {reexecute=0
>> rethrow=0 return_oop=0}
>>                                                 ; - ExtTest$28::func at 8
>> (line 241)
>>
> line 241 is from the case:
>
>     // testrule: addExtI_sxtx_shift nosense
>     // geninst: add.*w.*, w.*, x.*, sxtx #1
>     public Fintint addwsxtx = new Fintint() {
>        public int func(int x, int y) {
>            return y + (((x << 2) >> 2) << 1);
>        }
>     };
>
> which is case that doesn't make sense and the pattern is not added in this
> patch.
>
> Sorry, I have made my understood clearly.
>
> My previous attached test file (http://cr.openjdk.java.net/~
> njian/8158361/ExtTest.java) includes all cases in this table
> http://cr.openjdk.java.net/~njian/8158361/rules.txt. So the log file (
> http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_2017
> 0627_10_41_56.log) also includes cases like addwsxtx, which is a case
> does not make sense. I keep them just for being aligned with the table (
> http://cr.openjdk.java.net/~njian/8158361/rules.txt).
>
> To make it clear, I extrat the log file into two
> parts: func_ExtTest_20170627_10_41_56_added.log
> and func_ExtTest_20170627_10_41_56_not_added.log.
>
> And I checked all "make sense" cases (cases without "nosense" comment
> line) in ExtTest.java have generated required instruction by the attached
> script "tests.sh".
>
>  (if the attachment doesn't pass maillist's check, I'll upload it to
> http://cr.openjdk.java.net/~njian/8158361 later)
>

I've uploaded previous mentioned files at:

http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_20170627_10_41_56_added.log

http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_20170627_10_41_56_not_added.log
  http://cr.openjdk.java.net/~njian/8158361/tests.sh

Please take a look, thanks!


>
>
>
>>   0x0000ffff908fb7f0: ldp       x29, x30, [sp,#16]
>>
>> I think this is just a bad test case.  Please check all of the output.
>>
>> --
>> Andrew Haley
>> Java Platform Lead Engineer
>> Red Hat UK Ltd. <https://www.redhat.com>
>> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
>>
>
>
>
> --
> Best regards,
> Zhongwei
>



-- 
Best regards,
Zhongwei


More information about the aarch64-port-dev mailing list