Warning, /include/clang/Basic/arm_fp16.inc is written in an unsupported language. File is not indexed.
0001 #ifdef GET_NEON_BUILTINS
0002 TARGET_BUILTIN(__builtin_neon_vabdh_f16, "hhh", "n", "fullfp16")
0003 TARGET_BUILTIN(__builtin_neon_vabsh_f16, "hh", "n", "fullfp16")
0004 TARGET_BUILTIN(__builtin_neon_vaddh_f16, "hhh", "n", "fullfp16")
0005 TARGET_BUILTIN(__builtin_neon_vcageh_f16, "Ushh", "n", "fullfp16")
0006 TARGET_BUILTIN(__builtin_neon_vcagth_f16, "Ushh", "n", "fullfp16")
0007 TARGET_BUILTIN(__builtin_neon_vcaleh_f16, "Ushh", "n", "fullfp16")
0008 TARGET_BUILTIN(__builtin_neon_vcalth_f16, "Ushh", "n", "fullfp16")
0009 TARGET_BUILTIN(__builtin_neon_vceqh_f16, "Ushh", "n", "fullfp16")
0010 TARGET_BUILTIN(__builtin_neon_vceqzh_f16, "Ush", "n", "fullfp16")
0011 TARGET_BUILTIN(__builtin_neon_vcgeh_f16, "Ushh", "n", "fullfp16")
0012 TARGET_BUILTIN(__builtin_neon_vcgezh_f16, "Ush", "n", "fullfp16")
0013 TARGET_BUILTIN(__builtin_neon_vcgth_f16, "Ushh", "n", "fullfp16")
0014 TARGET_BUILTIN(__builtin_neon_vcgtzh_f16, "Ush", "n", "fullfp16")
0015 TARGET_BUILTIN(__builtin_neon_vcleh_f16, "Ushh", "n", "fullfp16")
0016 TARGET_BUILTIN(__builtin_neon_vclezh_f16, "Ush", "n", "fullfp16")
0017 TARGET_BUILTIN(__builtin_neon_vclth_f16, "Ushh", "n", "fullfp16")
0018 TARGET_BUILTIN(__builtin_neon_vcltzh_f16, "Ush", "n", "fullfp16")
0019 TARGET_BUILTIN(__builtin_neon_vcvtah_s16_f16, "sh", "n", "fullfp16")
0020 TARGET_BUILTIN(__builtin_neon_vcvtah_s32_f16, "ih", "n", "fullfp16")
0021 TARGET_BUILTIN(__builtin_neon_vcvtah_s64_f16, "Wih", "n", "fullfp16")
0022 TARGET_BUILTIN(__builtin_neon_vcvtah_u16_f16, "Ush", "n", "fullfp16")
0023 TARGET_BUILTIN(__builtin_neon_vcvtah_u32_f16, "Uih", "n", "fullfp16")
0024 TARGET_BUILTIN(__builtin_neon_vcvtah_u64_f16, "UWih", "n", "fullfp16")
0025 TARGET_BUILTIN(__builtin_neon_vcvth_f16_s16, "hs", "n", "fullfp16")
0026 TARGET_BUILTIN(__builtin_neon_vcvth_f16_s32, "hi", "n", "fullfp16")
0027 TARGET_BUILTIN(__builtin_neon_vcvth_f16_s64, "hWi", "n", "fullfp16")
0028 TARGET_BUILTIN(__builtin_neon_vcvth_f16_u16, "hUs", "n", "fullfp16")
0029 TARGET_BUILTIN(__builtin_neon_vcvth_f16_u32, "hUi", "n", "fullfp16")
0030 TARGET_BUILTIN(__builtin_neon_vcvth_f16_u64, "hUWi", "n", "fullfp16")
0031 TARGET_BUILTIN(__builtin_neon_vcvth_n_f16_s16, "hsIi", "n", "fullfp16")
0032 TARGET_BUILTIN(__builtin_neon_vcvth_n_f16_s32, "hiIi", "n", "fullfp16")
0033 TARGET_BUILTIN(__builtin_neon_vcvth_n_f16_s64, "hWiIi", "n", "fullfp16")
0034 TARGET_BUILTIN(__builtin_neon_vcvth_n_f16_u16, "hUsIi", "n", "fullfp16")
0035 TARGET_BUILTIN(__builtin_neon_vcvth_n_f16_u32, "hUiIi", "n", "fullfp16")
0036 TARGET_BUILTIN(__builtin_neon_vcvth_n_f16_u64, "hUWiIi", "n", "fullfp16")
0037 TARGET_BUILTIN(__builtin_neon_vcvth_n_s16_f16, "shIi", "n", "fullfp16")
0038 TARGET_BUILTIN(__builtin_neon_vcvth_n_s32_f16, "ihIi", "n", "fullfp16")
0039 TARGET_BUILTIN(__builtin_neon_vcvth_n_s64_f16, "WihIi", "n", "fullfp16")
0040 TARGET_BUILTIN(__builtin_neon_vcvth_n_u16_f16, "UshIi", "n", "fullfp16")
0041 TARGET_BUILTIN(__builtin_neon_vcvth_n_u32_f16, "UihIi", "n", "fullfp16")
0042 TARGET_BUILTIN(__builtin_neon_vcvth_n_u64_f16, "UWihIi", "n", "fullfp16")
0043 TARGET_BUILTIN(__builtin_neon_vcvth_s16_f16, "sh", "n", "fullfp16")
0044 TARGET_BUILTIN(__builtin_neon_vcvth_s32_f16, "ih", "n", "fullfp16")
0045 TARGET_BUILTIN(__builtin_neon_vcvth_s64_f16, "Wih", "n", "fullfp16")
0046 TARGET_BUILTIN(__builtin_neon_vcvth_u16_f16, "Ush", "n", "fullfp16")
0047 TARGET_BUILTIN(__builtin_neon_vcvth_u32_f16, "Uih", "n", "fullfp16")
0048 TARGET_BUILTIN(__builtin_neon_vcvth_u64_f16, "UWih", "n", "fullfp16")
0049 TARGET_BUILTIN(__builtin_neon_vcvtmh_s16_f16, "sh", "n", "fullfp16")
0050 TARGET_BUILTIN(__builtin_neon_vcvtmh_s32_f16, "ih", "n", "fullfp16")
0051 TARGET_BUILTIN(__builtin_neon_vcvtmh_s64_f16, "Wih", "n", "fullfp16")
0052 TARGET_BUILTIN(__builtin_neon_vcvtmh_u16_f16, "Ush", "n", "fullfp16")
0053 TARGET_BUILTIN(__builtin_neon_vcvtmh_u32_f16, "Uih", "n", "fullfp16")
0054 TARGET_BUILTIN(__builtin_neon_vcvtmh_u64_f16, "UWih", "n", "fullfp16")
0055 TARGET_BUILTIN(__builtin_neon_vcvtnh_s16_f16, "sh", "n", "fullfp16")
0056 TARGET_BUILTIN(__builtin_neon_vcvtnh_s32_f16, "ih", "n", "fullfp16")
0057 TARGET_BUILTIN(__builtin_neon_vcvtnh_s64_f16, "Wih", "n", "fullfp16")
0058 TARGET_BUILTIN(__builtin_neon_vcvtnh_u16_f16, "Ush", "n", "fullfp16")
0059 TARGET_BUILTIN(__builtin_neon_vcvtnh_u32_f16, "Uih", "n", "fullfp16")
0060 TARGET_BUILTIN(__builtin_neon_vcvtnh_u64_f16, "UWih", "n", "fullfp16")
0061 TARGET_BUILTIN(__builtin_neon_vcvtph_s16_f16, "sh", "n", "fullfp16")
0062 TARGET_BUILTIN(__builtin_neon_vcvtph_s32_f16, "ih", "n", "fullfp16")
0063 TARGET_BUILTIN(__builtin_neon_vcvtph_s64_f16, "Wih", "n", "fullfp16")
0064 TARGET_BUILTIN(__builtin_neon_vcvtph_u16_f16, "Ush", "n", "fullfp16")
0065 TARGET_BUILTIN(__builtin_neon_vcvtph_u32_f16, "Uih", "n", "fullfp16")
0066 TARGET_BUILTIN(__builtin_neon_vcvtph_u64_f16, "UWih", "n", "fullfp16")
0067 TARGET_BUILTIN(__builtin_neon_vdivh_f16, "hhh", "n", "fullfp16")
0068 TARGET_BUILTIN(__builtin_neon_vfmah_f16, "hhhh", "n", "fullfp16")
0069 TARGET_BUILTIN(__builtin_neon_vfmsh_f16, "hhhh", "n", "fullfp16")
0070 TARGET_BUILTIN(__builtin_neon_vmaxh_f16, "hhh", "n", "fullfp16")
0071 TARGET_BUILTIN(__builtin_neon_vmaxnmh_f16, "hhh", "n", "fullfp16")
0072 TARGET_BUILTIN(__builtin_neon_vminh_f16, "hhh", "n", "fullfp16")
0073 TARGET_BUILTIN(__builtin_neon_vminnmh_f16, "hhh", "n", "fullfp16")
0074 TARGET_BUILTIN(__builtin_neon_vmulh_f16, "hhh", "n", "fullfp16")
0075 TARGET_BUILTIN(__builtin_neon_vmulxh_f16, "hhh", "n", "fullfp16")
0076 TARGET_BUILTIN(__builtin_neon_vnegh_f16, "hh", "n", "fullfp16")
0077 TARGET_BUILTIN(__builtin_neon_vrecpeh_f16, "hh", "n", "fullfp16")
0078 TARGET_BUILTIN(__builtin_neon_vrecpsh_f16, "hhh", "n", "fullfp16")
0079 TARGET_BUILTIN(__builtin_neon_vrecpxh_f16, "hh", "n", "fullfp16")
0080 TARGET_BUILTIN(__builtin_neon_vrndah_f16, "hh", "n", "fullfp16")
0081 TARGET_BUILTIN(__builtin_neon_vrndh_f16, "hh", "n", "fullfp16")
0082 TARGET_BUILTIN(__builtin_neon_vrndih_f16, "hh", "n", "fullfp16")
0083 TARGET_BUILTIN(__builtin_neon_vrndmh_f16, "hh", "n", "fullfp16")
0084 TARGET_BUILTIN(__builtin_neon_vrndnh_f16, "hh", "n", "fullfp16")
0085 TARGET_BUILTIN(__builtin_neon_vrndph_f16, "hh", "n", "fullfp16")
0086 TARGET_BUILTIN(__builtin_neon_vrndxh_f16, "hh", "n", "fullfp16")
0087 TARGET_BUILTIN(__builtin_neon_vrsqrteh_f16, "hh", "n", "fullfp16")
0088 TARGET_BUILTIN(__builtin_neon_vrsqrtsh_f16, "hhh", "n", "fullfp16")
0089 TARGET_BUILTIN(__builtin_neon_vsqrth_f16, "hh", "n", "fullfp16")
0090 TARGET_BUILTIN(__builtin_neon_vsubh_f16, "hhh", "n", "fullfp16")
0091 #endif
0092
0093 #ifdef GET_NEON_OVERLOAD_CHECK
0094 #endif
0095
0096 #ifdef GET_NEON_STREAMING_COMPAT_FLAG
0097 case NEON::BI__builtin_neon_vdivh_f16: BuiltinType = ArmNonStreaming; break;
0098 case NEON::BI__builtin_neon_vmaxnmh_f16: BuiltinType = ArmNonStreaming; break;
0099 case NEON::BI__builtin_neon_vminnmh_f16: BuiltinType = ArmNonStreaming; break;
0100 case NEON::BI__builtin_neon_vrndah_f16: BuiltinType = ArmNonStreaming; break;
0101 case NEON::BI__builtin_neon_vrndih_f16: BuiltinType = ArmNonStreaming; break;
0102 case NEON::BI__builtin_neon_vrndmh_f16: BuiltinType = ArmNonStreaming; break;
0103 case NEON::BI__builtin_neon_vrndnh_f16: BuiltinType = ArmNonStreaming; break;
0104 case NEON::BI__builtin_neon_vrndph_f16: BuiltinType = ArmNonStreaming; break;
0105 case NEON::BI__builtin_neon_vrndxh_f16: BuiltinType = ArmNonStreaming; break;
0106 case NEON::BI__builtin_neon_vrndh_f16: BuiltinType = ArmNonStreaming; break;
0107 case NEON::BI__builtin_neon_vsqrth_f16: BuiltinType = ArmNonStreaming; break;
0108 case NEON::BI__builtin_neon_vmulxh_f16: BuiltinType = ArmNonStreaming; break;
0109 case NEON::BI__builtin_neon_vabdh_f16: BuiltinType = ArmNonStreaming; break;
0110 case NEON::BI__builtin_neon_vabsh_f16: BuiltinType = ArmNonStreaming; break;
0111 case NEON::BI__builtin_neon_vceqh_f16: BuiltinType = ArmNonStreaming; break;
0112 case NEON::BI__builtin_neon_vceqzh_f16: BuiltinType = ArmNonStreaming; break;
0113 case NEON::BI__builtin_neon_vcgeh_f16: BuiltinType = ArmNonStreaming; break;
0114 case NEON::BI__builtin_neon_vcgezh_f16: BuiltinType = ArmNonStreaming; break;
0115 case NEON::BI__builtin_neon_vcgth_f16: BuiltinType = ArmNonStreaming; break;
0116 case NEON::BI__builtin_neon_vcgtzh_f16: BuiltinType = ArmNonStreaming; break;
0117 case NEON::BI__builtin_neon_vcleh_f16: BuiltinType = ArmNonStreaming; break;
0118 case NEON::BI__builtin_neon_vclezh_f16: BuiltinType = ArmNonStreaming; break;
0119 case NEON::BI__builtin_neon_vclth_f16: BuiltinType = ArmNonStreaming; break;
0120 case NEON::BI__builtin_neon_vcltzh_f16: BuiltinType = ArmNonStreaming; break;
0121 case NEON::BI__builtin_neon_vcageh_f16: BuiltinType = ArmNonStreaming; break;
0122 case NEON::BI__builtin_neon_vcagth_f16: BuiltinType = ArmNonStreaming; break;
0123 case NEON::BI__builtin_neon_vcaleh_f16: BuiltinType = ArmNonStreaming; break;
0124 case NEON::BI__builtin_neon_vcalth_f16: BuiltinType = ArmNonStreaming; break;
0125 case NEON::BI__builtin_neon_vcvtah_s16_f16: BuiltinType = ArmNonStreaming; break;
0126 case NEON::BI__builtin_neon_vcvtah_s32_f16: BuiltinType = ArmNonStreaming; break;
0127 case NEON::BI__builtin_neon_vcvtah_s64_f16: BuiltinType = ArmNonStreaming; break;
0128 case NEON::BI__builtin_neon_vcvtah_u16_f16: BuiltinType = ArmNonStreaming; break;
0129 case NEON::BI__builtin_neon_vcvtah_u32_f16: BuiltinType = ArmNonStreaming; break;
0130 case NEON::BI__builtin_neon_vcvtah_u64_f16: BuiltinType = ArmNonStreaming; break;
0131 case NEON::BI__builtin_neon_vcvtmh_s16_f16: BuiltinType = ArmNonStreaming; break;
0132 case NEON::BI__builtin_neon_vcvtmh_s32_f16: BuiltinType = ArmNonStreaming; break;
0133 case NEON::BI__builtin_neon_vcvtmh_s64_f16: BuiltinType = ArmNonStreaming; break;
0134 case NEON::BI__builtin_neon_vcvtmh_u16_f16: BuiltinType = ArmNonStreaming; break;
0135 case NEON::BI__builtin_neon_vcvtmh_u32_f16: BuiltinType = ArmNonStreaming; break;
0136 case NEON::BI__builtin_neon_vcvtmh_u64_f16: BuiltinType = ArmNonStreaming; break;
0137 case NEON::BI__builtin_neon_vcvtnh_s16_f16: BuiltinType = ArmNonStreaming; break;
0138 case NEON::BI__builtin_neon_vcvtnh_s32_f16: BuiltinType = ArmNonStreaming; break;
0139 case NEON::BI__builtin_neon_vcvtnh_s64_f16: BuiltinType = ArmNonStreaming; break;
0140 case NEON::BI__builtin_neon_vcvtnh_u16_f16: BuiltinType = ArmNonStreaming; break;
0141 case NEON::BI__builtin_neon_vcvtnh_u32_f16: BuiltinType = ArmNonStreaming; break;
0142 case NEON::BI__builtin_neon_vcvtnh_u64_f16: BuiltinType = ArmNonStreaming; break;
0143 case NEON::BI__builtin_neon_vcvtph_s16_f16: BuiltinType = ArmNonStreaming; break;
0144 case NEON::BI__builtin_neon_vcvtph_s32_f16: BuiltinType = ArmNonStreaming; break;
0145 case NEON::BI__builtin_neon_vcvtph_s64_f16: BuiltinType = ArmNonStreaming; break;
0146 case NEON::BI__builtin_neon_vcvtph_u16_f16: BuiltinType = ArmNonStreaming; break;
0147 case NEON::BI__builtin_neon_vcvtph_u32_f16: BuiltinType = ArmNonStreaming; break;
0148 case NEON::BI__builtin_neon_vcvtph_u64_f16: BuiltinType = ArmNonStreaming; break;
0149 case NEON::BI__builtin_neon_vcvth_s16_f16: BuiltinType = ArmNonStreaming; break;
0150 case NEON::BI__builtin_neon_vcvth_s32_f16: BuiltinType = ArmNonStreaming; break;
0151 case NEON::BI__builtin_neon_vcvth_n_s32_f16: BuiltinType = ArmNonStreaming; break;
0152 case NEON::BI__builtin_neon_vcvth_s64_f16: BuiltinType = ArmNonStreaming; break;
0153 case NEON::BI__builtin_neon_vcvth_n_s64_f16: BuiltinType = ArmNonStreaming; break;
0154 case NEON::BI__builtin_neon_vcvth_n_s16_f16: BuiltinType = ArmNonStreaming; break;
0155 case NEON::BI__builtin_neon_vcvth_u16_f16: BuiltinType = ArmNonStreaming; break;
0156 case NEON::BI__builtin_neon_vcvth_u32_f16: BuiltinType = ArmNonStreaming; break;
0157 case NEON::BI__builtin_neon_vcvth_n_u32_f16: BuiltinType = ArmNonStreaming; break;
0158 case NEON::BI__builtin_neon_vcvth_u64_f16: BuiltinType = ArmNonStreaming; break;
0159 case NEON::BI__builtin_neon_vcvth_n_u64_f16: BuiltinType = ArmNonStreaming; break;
0160 case NEON::BI__builtin_neon_vcvth_n_u16_f16: BuiltinType = ArmNonStreaming; break;
0161 case NEON::BI__builtin_neon_vrecpeh_f16: BuiltinType = ArmNonStreaming; break;
0162 case NEON::BI__builtin_neon_vrecpsh_f16: BuiltinType = ArmNonStreaming; break;
0163 case NEON::BI__builtin_neon_vrecpxh_f16: BuiltinType = ArmNonStreaming; break;
0164 case NEON::BI__builtin_neon_vrsqrteh_f16: BuiltinType = ArmNonStreaming; break;
0165 case NEON::BI__builtin_neon_vrsqrtsh_f16: BuiltinType = ArmNonStreaming; break;
0166 case NEON::BI__builtin_neon_vcvth_f16_u16: BuiltinType = ArmNonStreaming; break;
0167 case NEON::BI__builtin_neon_vcvth_f16_s16: BuiltinType = ArmNonStreaming; break;
0168 case NEON::BI__builtin_neon_vcvth_f16_u32: BuiltinType = ArmNonStreaming; break;
0169 case NEON::BI__builtin_neon_vcvth_f16_s32: BuiltinType = ArmNonStreaming; break;
0170 case NEON::BI__builtin_neon_vcvth_n_f16_u32: BuiltinType = ArmNonStreaming; break;
0171 case NEON::BI__builtin_neon_vcvth_n_f16_s32: BuiltinType = ArmNonStreaming; break;
0172 case NEON::BI__builtin_neon_vcvth_f16_u64: BuiltinType = ArmNonStreaming; break;
0173 case NEON::BI__builtin_neon_vcvth_f16_s64: BuiltinType = ArmNonStreaming; break;
0174 case NEON::BI__builtin_neon_vcvth_n_f16_u64: BuiltinType = ArmNonStreaming; break;
0175 case NEON::BI__builtin_neon_vcvth_n_f16_s64: BuiltinType = ArmNonStreaming; break;
0176 case NEON::BI__builtin_neon_vcvth_n_f16_u16: BuiltinType = ArmNonStreaming; break;
0177 case NEON::BI__builtin_neon_vcvth_n_f16_s16: BuiltinType = ArmNonStreaming; break;
0178 case NEON::BI__builtin_neon_vaddh_f16: BuiltinType = ArmNonStreaming; break;
0179 case NEON::BI__builtin_neon_vfmah_f16: BuiltinType = ArmNonStreaming; break;
0180 case NEON::BI__builtin_neon_vfmsh_f16: BuiltinType = ArmNonStreaming; break;
0181 case NEON::BI__builtin_neon_vmaxh_f16: BuiltinType = ArmNonStreaming; break;
0182 case NEON::BI__builtin_neon_vminh_f16: BuiltinType = ArmNonStreaming; break;
0183 case NEON::BI__builtin_neon_vmulh_f16: BuiltinType = ArmNonStreaming; break;
0184 case NEON::BI__builtin_neon_vnegh_f16: BuiltinType = ArmNonStreaming; break;
0185 case NEON::BI__builtin_neon_vsubh_f16: BuiltinType = ArmNonStreaming; break;
0186 #endif
0187
0188 #ifdef GET_NEON_IMMEDIATE_CHECK
0189 case NEON::BI__builtin_neon_vcvth_n_s32_f16:
0190 ImmChecks.emplace_back(1, 8, 16, 64);
0191 break;
0192 case NEON::BI__builtin_neon_vcvth_n_s64_f16:
0193 ImmChecks.emplace_back(1, 8, 16, 64);
0194 break;
0195 case NEON::BI__builtin_neon_vcvth_n_s16_f16:
0196 ImmChecks.emplace_back(1, 8, 16, 64);
0197 break;
0198 case NEON::BI__builtin_neon_vcvth_n_u32_f16:
0199 ImmChecks.emplace_back(1, 8, 16, 64);
0200 break;
0201 case NEON::BI__builtin_neon_vcvth_n_u64_f16:
0202 ImmChecks.emplace_back(1, 8, 16, 64);
0203 break;
0204 case NEON::BI__builtin_neon_vcvth_n_u16_f16:
0205 ImmChecks.emplace_back(1, 8, 16, 64);
0206 break;
0207 case NEON::BI__builtin_neon_vcvth_n_f16_u32:
0208 ImmChecks.emplace_back(1, 1, 0, 0);
0209 break;
0210 case NEON::BI__builtin_neon_vcvth_n_f16_s32:
0211 ImmChecks.emplace_back(1, 1, 0, 0);
0212 break;
0213 case NEON::BI__builtin_neon_vcvth_n_f16_u64:
0214 ImmChecks.emplace_back(1, 1, 0, 0);
0215 break;
0216 case NEON::BI__builtin_neon_vcvth_n_f16_s64:
0217 ImmChecks.emplace_back(1, 1, 0, 0);
0218 break;
0219 case NEON::BI__builtin_neon_vcvth_n_f16_u16:
0220 ImmChecks.emplace_back(1, 1, 0, 0);
0221 break;
0222 case NEON::BI__builtin_neon_vcvth_n_f16_s16:
0223 ImmChecks.emplace_back(1, 1, 0, 0);
0224 break;
0225 #endif
0226