on 2024/4/10 15:11, Richard Biener wrote: > On Wed, Apr 10, 2024 at 8:24 AM Kewen.Lin <li...@linux.ibm.com> wrote: >> >> Hi, >> >> pr113359-2_*.c define a struct having unsigned long type >> members ay and az which have 4 bytes size at -m32, while >> the related constants CL1 and CL2 used for equality check >> are always 8 bytes, it makes compiler consider the below >> >> 69 if (a.ay != CL1) >> 70 __builtin_abort (); >> >> always to abort and optimize away the following call to >> getb, which leads to the expected wpa dumping on >> "Semantic equality" missing. >> >> This patch is to modify the types with unsigned long long >> accordingly. Tested well on powerpc64-linux-gnu. >> >> Is it ok for trunk? > > OK
Thanks! Pushed as r14-9886. BR, Kewen > >> BR, >> Kewen >> ----- >> PR testsuite/114662 >> >> gcc/testsuite/ChangeLog: >> >> * gcc.dg/lto/pr113359-2_0.c: Use unsigned long long instead of >> unsigned long. >> * gcc.dg/lto/pr113359-2_1.c: Likewise. >> --- >> gcc/testsuite/gcc.dg/lto/pr113359-2_0.c | 8 ++++---- >> gcc/testsuite/gcc.dg/lto/pr113359-2_1.c | 8 ++++---- >> 2 files changed, 8 insertions(+), 8 deletions(-) >> >> diff --git a/gcc/testsuite/gcc.dg/lto/pr113359-2_0.c >> b/gcc/testsuite/gcc.dg/lto/pr113359-2_0.c >> index 8b2d5bdfab2..8495667599d 100644 >> --- a/gcc/testsuite/gcc.dg/lto/pr113359-2_0.c >> +++ b/gcc/testsuite/gcc.dg/lto/pr113359-2_0.c >> @@ -8,15 +8,15 @@ >> struct SA >> { >> unsigned int ax; >> - unsigned long ay; >> - unsigned long az; >> + unsigned long long ay; >> + unsigned long long az; >> }; >> >> struct SB >> { >> unsigned int bx; >> - unsigned long by; >> - unsigned long bz; >> + unsigned long long by; >> + unsigned long long bz; >> }; >> >> struct ZA >> diff --git a/gcc/testsuite/gcc.dg/lto/pr113359-2_1.c >> b/gcc/testsuite/gcc.dg/lto/pr113359-2_1.c >> index 61bc0547981..8320f347efe 100644 >> --- a/gcc/testsuite/gcc.dg/lto/pr113359-2_1.c >> +++ b/gcc/testsuite/gcc.dg/lto/pr113359-2_1.c >> @@ -5,15 +5,15 @@ >> struct SA >> { >> unsigned int ax; >> - unsigned long ay; >> - unsigned long az; >> + unsigned long long ay; >> + unsigned long long az; >> }; >> >> struct SB >> { >> unsigned int bx; >> - unsigned long by; >> - unsigned long bz; >> + unsigned long long by; >> + unsigned long long bz; >> }; >> >> struct ZA >> -- >> 2.43.0