<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Hello</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
I've been slowly updating a lot of tests, yes. I've been doing it bit at a time, half expecting an email like this.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Can you explain why you have test case differences now? In my experience the register are not the part of the test sensitive to change, codegen is or ordering is. Or else the tests are not testing all that they should (and updating codegen tests by hand is
 not something we should be spending all our time on in 2021! The test scripts have been shown to work well elsewhere.)</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
I would expect downstream users to run the update scripts if needed, and already need to do that for other test cases? Although I'm a little surprised that little tests need updating. Are they using different registers, or is it some of the other checks that
 need adding? Some part of this neon-mul-div test?</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
The test this is targeting (although I do believe it to be beneficial in general)  - is that we would like to start making the -mcpu=generic target include features that help any micro-architecture without hurting others, especially between bit-little machines.
 So for example it already enables fuse-aes as it is considered to be useful for most architectures. We are trying to extend that to use an in-order schedule (A55), under the pretext that it will help in-order cores that benefit from such things, without hurting
 out-of-order cores that can out-of-order schedule around any codegen differences. My understanding is that clang for any apple target sets -target-cpu=apple-a12 so shouldn't be affected.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Our experiments so far seem to show that is the case, that larger cores are not hurt by the change to use in-order scheduling. But it does involve updating ~300 failing tests, which is what led me to updating some of them to be more maintainable. There are
 still quite a few I am having to change manually, but at least having the most obvious tests autogenerated makes forward progress possible.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Thanks</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
Dave</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:11pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Florian Hahn <florian_hahn@apple.com><br>
<b>Sent:</b> 13 September 2021 11:37<br>
<b>To:</b> David Green <David.Green@arm.com>; David Green <llvmlistbot@llvm.org><br>
<b>Cc:</b> llvm-commits@lists.llvm.org <llvm-commits@lists.llvm.org><br>
<b>Subject:</b> Re: [llvm] b737f1a - [AArch64] Regenerate some test checks. NFC</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText"><br>
<br>
> On Sep 13, 2021, at 11:29, David Green via llvm-commits <llvm-commits@lists.llvm.org> wrote:<br>
> <br>
> <br>
> Author: David Green<br>
> Date: 2021-09-13T11:29:44+01:00<br>
> New Revision: b737f1acf42807b6c791fc87763967d60bfc7ee3<br>
> <br>
> URL: <a href="https://github.com/llvm/llvm-project/commit/b737f1acf42807b6c791fc87763967d60bfc7ee3">
https://github.com/llvm/llvm-project/commit/b737f1acf42807b6c791fc87763967d60bfc7ee3</a><br>
> DIFF: <a href="https://github.com/llvm/llvm-project/commit/b737f1acf42807b6c791fc87763967d60bfc7ee3.diff">
https://github.com/llvm/llvm-project/commit/b737f1acf42807b6c791fc87763967d60bfc7ee3.diff</a><br>
> <br>
> LOG: [AArch64] Regenerate some test checks. NFC<br>
> <br>
> This regenerates some of the tests that had very-close-to-updated check<br>
> line already, in order to make them more maintainable.<br>
> <br>
<br>
It looks like the tests intentionally did only check for targeted instructions and now they are much more fragile and will need updating more often. There are many cases were we now check for the full assembly, when the only interesting bits are a few generated
 instructions. Granted, updating them can now be done by running a script, but that still can lead to a lot of changes needing review + potential to cause downstream conflicts.<br>
<br>
The changes test also now rely on precise register assignments, which can cause pain for downstream users.<br>
<br>
Could you share the patch where this simplifies updating the tests drastically?<br>
<br>
Cheers,<br>
Florian<br>
<br>
> Added: <br>
> <br>
> <br>
> Modified: <br>
>    llvm/test/CodeGen/AArch64/arm64-neon-aba-abd.ll<br>
>    llvm/test/CodeGen/AArch64/arm64-neon-mul-div.ll<br>
>    llvm/test/CodeGen/AArch64/arm64-nvcast.ll<br>
>    llvm/test/CodeGen/AArch64/arm64-register-pairing.ll<br>
>    llvm/test/CodeGen/AArch64/arm64-setcc-int-to-fp-combine.ll<br>
>    llvm/test/CodeGen/AArch64/arm64-subvector-extend.ll<br>
>    llvm/test/CodeGen/AArch64/arm64-trunc-store.ll<br>
> <br>
> Removed: <br>
> <br>
> <br>
><br>
</div>
</span></font></div>
</body>
</html>