This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/81647] inconsistent LTGT behavior at different optimization levels on AArch64.
- From: "amker at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 14 Aug 2017 09:03:10 +0000
- Subject: [Bug target/81647] inconsistent LTGT behavior at different optimization levels on AArch64.
- Auto-submitted: auto-generated
- References: <bug-81647-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81647
--- Comment #5 from amker at gcc dot gnu.org ---
Looks like both x86_64(with -mavx2) and AArch64 translate u== into signaling
comparison instructions when vectorization.
x86_64 translates into "*avx_maskcmpv4df3_comm" thus:
vcmpeq_uspd x(,%r13,8), %ymm0, %ymm0
While AArch64 implements UNEQ as !LTGT in "vec_cmp<mode><v_cmp_result>".