[Aarch64] Customer lowering of COPYSIGN to SIMD should check for NEON availability
authorAkshay Kumar <akshay.kumar@blackfigtech.com>
Mon, 17 Jan 2022 16:39:22 +0000 (22:09 +0530)
committerShivam Gupta <shivam98.tkg@gmail.com>
Mon, 17 Jan 2022 18:55:15 +0000 (00:25 +0530)
commit6f61fe7de97c78adc8fac528239260122fb83be5
tree6939e4cc43fed1e4d6b230420c7a06f0bab46b8b
parent311207bbea2b109ca6e40426bebe76a5f9786315
[Aarch64] Customer lowering of COPYSIGN to SIMD should check for NEON availability

For the following test case, clang is crashing for ARM64 architecture
$ cat crash.c
double crash(double a, double b)
{
return __builtin_copysign(a, b);
}

$ clang -O2 -march=armv8-a+nosimd --target=arm64 -S crash.c -o /dev/null
fatal error: error in backend: Cannot select: 0x7fae361bb4e8: v2i64 = AArch64ISD::BIT 0x7fae361bb210, 0x7fae361bb278, 0x7fae361bb480
Fix: PR51806

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D116581
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/fcopysign.ll