aboutsummaryrefslogtreecommitdiff
path: root/clang/utils
diff options
context:
space:
mode:
Diffstat (limited to 'clang/utils')
-rw-r--r--clang/utils/TableGen/NeonEmitter.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/clang/utils/TableGen/NeonEmitter.cpp b/clang/utils/TableGen/NeonEmitter.cpp
index d4fb56e..89891fd 100644
--- a/clang/utils/TableGen/NeonEmitter.cpp
+++ b/clang/utils/TableGen/NeonEmitter.cpp
@@ -1401,14 +1401,12 @@ void Intrinsic::emitBodyAsBuiltinCall() {
if (LocalCK == ClassB || (T.isHalf() && !T.isScalarForMangling())) {
CastToType.makeInteger(8, true);
Arg = "__builtin_bit_cast(" + CastToType.str() + ", " + Arg + ")";
- } else if (LocalCK == ClassI) {
- if (CastToType.isInteger()) {
- CastToType.makeSigned();
- Arg = "__builtin_bit_cast(" + CastToType.str() + ", " + Arg + ")";
- }
+ } else if (LocalCK == ClassI &&
+ (CastToType.isInteger() || CastToType.isPoly())) {
+ CastToType.makeSigned();
+ Arg = "__builtin_bit_cast(" + CastToType.str() + ", " + Arg + ")";
}
}
-
S += Arg + ", ";
}