From db73bcd98ef4ffbe91405a5adfcfdcd83bc007f4 Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Wed, 30 Oct 2019 09:26:58 +0000 Subject: ARM-NEON: separate soon-to-be conflicting f16 patterns. NFC. This separates some intrinsic definitions into multiple instantiations because they use a modifier that forces the float size to a given value. That modifier won't work in the new NeonEmitter modifier scheme and committing this separately allows the Python script to be run on the .td files to perform the conversion automatically. --- clang/include/clang/Basic/arm_fp16.td | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'clang') diff --git a/clang/include/clang/Basic/arm_fp16.td b/clang/include/clang/Basic/arm_fp16.td index ca33a8d2ec0..bb9873efac8 100644 --- a/clang/include/clang/Basic/arm_fp16.td +++ b/clang/include/clang/Basic/arm_fp16.td @@ -43,7 +43,9 @@ let ArchGuard = "defined(__ARM_FEATURE_FP16_SCALAR_ARITHMETIC) && defined(__aarc def FRINTX_S64H : SInst<"vrndx", "ss", "Sh">; // Conversion - def SCALAR_SCVTFSH : SInst<"vcvth_f16", "Ys", "silUsUiUl">; + def SCALAR_SCVTFSH : SInst<"vcvth_f16", "Ys", "sUs">; + def SCALAR_SCVTFSH1 : SInst<"vcvth_f16", "Ys", "iUi">; + def SCALAR_SCVTFSH2 : SInst<"vcvth_f16", "Ys", "lUl">; def SCALAR_FCVTZSH : SInst<"vcvt_s16", "$s", "Sh">; def SCALAR_FCVTZSH1 : SInst<"vcvt_s32", "Is", "Sh">; def SCALAR_FCVTZSH2 : SInst<"vcvt_s64", "Ls", "Sh">; @@ -75,7 +77,9 @@ let ArchGuard = "defined(__ARM_FEATURE_FP16_SCALAR_ARITHMETIC) && defined(__aarc def SCALAR_FCVTPUH1 : SInst<"vcvtp_u32", "Us", "Sh">; def SCALAR_FCVTPUH2 : SInst<"vcvtp_u64", "Os", "Sh">; let isVCVT_N = 1 in { - def SCALAR_SCVTFSHO : SInst<"vcvth_n_f16", "Ysi", "silUsUiUl">; + def SCALAR_SCVTFSHO : SInst<"vcvth_n_f16", "Ysi", "sUs">; + def SCALAR_SCVTFSH1O: SInst<"vcvth_n_f16", "Ysi", "iUi">; + def SCALAR_SCVTFSH2O: SInst<"vcvth_n_f16", "Ysi", "lUl">; def SCALAR_FCVTZSHO : SInst<"vcvt_n_s16", "$si", "Sh">; def SCALAR_FCVTZSH1O: SInst<"vcvt_n_s32", "Isi", "Sh">; def SCALAR_FCVTZSH2O: SInst<"vcvt_n_s64", "Lsi", "Sh">; -- cgit v1.2.3