[OpenCL][x86_64] clang/lib/CodeGen/TargetInfo.cpp: function argument type <4 x i16> is coerced to double
- Dominant language
- LLVM
- Stars
- 1.5k
- Forks
- 854
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 137
Description
**Describe the bug**
X86_64ABIInfo class coerces function argument's vector type to integer type, following behaviors in gcc.
However, in test vector-to-scalar-coercion.cl of https://github.com/intel/llvm/pull/8160, <4 x i16> is coerced to double when triple is x86_64-unknown-linux. It should be coerced to i64 instead according to comment https://github.com/intel/llvm/pull/8160#discussion_r1105948873.
**To Reproduce**
See lit test vector-to-scalar-coercion.cl of https://github.com/intel/llvm/pull/8160
**Environment (please complete the following information):**
- Linux
- This test is for OpenCL CPU device
- clang version 16.0.0 (https://github.com/intel/llvm.git 30ecfa4d53904d9288ab9d2cff3004da9043547f)
Contributor guide
Assessment
This issue has not been assessed yet.