[aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations
Zhongwei Yao
zhongwei.yao at linaro.org
Wed Jun 28 15:55:41 UTC 2017
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_
> 20170627_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_
20170627_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)
> 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
More information about the aarch64-port-dev
mailing list