[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