Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AArch64] Incorrect result for vector conversion with -O2 #44886

Closed
llvmbot opened this issue Apr 14, 2020 · 2 comments
Closed

[AArch64] Incorrect result for vector conversion with -O2 #44886

llvmbot opened this issue Apr 14, 2020 · 2 comments
Labels
backend:AArch64 bugzilla Issues migrated from bugzilla

Comments

@llvmbot
Copy link
Member

llvmbot commented Apr 14, 2020

Bugzilla Link 45541
Version 10.0
OS Linux
Attachments Test case
Reporter LLVM Bugzilla Contributor
CC @Arnaud-de-Grandmaison-ARM,@smithp35

Extended Description

The attached test case works on without optimization and on GCC, but fails with -O2 (clang-10 -v -target aarch64-linux-gnu -O2 -o mm_cvtepu8_epi16 mm_cvtepu8_epi16.c to be precise).

I've added a FOO preprocessor macro (see line 27) to switch between making simde__m128i a typedef to int64x2_t and int32x4_t. Depending on which is used different functions fail. It shouldn't actually matter since the code uses __builtin_memcpy to convert to/from simde__m128i_private and simde__m128i.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
@mr-c
Copy link

mr-c commented May 21, 2023

I was able to reproduce the provided test case with clang 13 and 14; it looks like this was fixed in clang-15. Therefore I think this issue can be closed

@sjoerdmeijer
Copy link
Collaborator

I agree, I can't reproduce this with a trunk build, closing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:AArch64 bugzilla Issues migrated from bugzilla
Projects
None yet
Development

No branches or pull requests

3 participants