@@ -286,6 +286,7 @@ TARGET_BUILTIN(__builtin_s390_vstrszf, "V16UcV4UiV4UiV16Uci*", "nc", "vector-enh
286286TARGET_BUILTIN(__builtin_s390_vlbrh, " V8UsV8Us" , " nc" , " vector" )
287287TARGET_BUILTIN(__builtin_s390_vlbrf, " V4UiV4Ui" , " nc" , " vector" )
288288TARGET_BUILTIN(__builtin_s390_vlbrg, " V2ULLiV2ULLi" , " nc" , " vector" )
289+ TARGET_BUILTIN(__builtin_s390_vlbrq, " ULLLiULLLi" , " nc" , " vector" )
289290
290291// NNP-assist facility intrinsics.
291292TARGET_BUILTIN(__builtin_s390_vclfnhs, " V4fV8UsIi" , " nc" , " nnp-assist" )
@@ -294,5 +295,44 @@ TARGET_BUILTIN(__builtin_s390_vcrnfs, "V8UsV4fV4fIi", "nc", "nnp-assist")
294295TARGET_BUILTIN(__builtin_s390_vcfn, " V8UsV8UsIi" , " nc" , " nnp-assist" )
295296TARGET_BUILTIN(__builtin_s390_vcnf, " V8UsV8UsIi" , " nc" , " nnp-assist" )
296297
298+ // Miscellaneous instruction extensions facility 4 intrinsics.
299+ TARGET_BUILTIN(__builtin_s390_bdepg, " ULiULiULi" , " nc" , " miscellaneous-extensions-4" )
300+ TARGET_BUILTIN(__builtin_s390_bextg, " ULiULiULi" , " nc" , " miscellaneous-extensions-4" )
301+
302+ // Vector-enhancements facility 3 intrinsics.
303+ TARGET_BUILTIN(__builtin_s390_vgemb, " V16UcV8Us" , " nc" , " vector-enhancements-3" )
304+ TARGET_BUILTIN(__builtin_s390_vgemh, " V8UsV16Uc" , " nc" , " vector-enhancements-3" )
305+ TARGET_BUILTIN(__builtin_s390_vgemf, " V4UiV16Uc" , " nc" , " vector-enhancements-3" )
306+ TARGET_BUILTIN(__builtin_s390_vgemg, " V2ULLiV16Uc" , " nc" , " vector-enhancements-3" )
307+ TARGET_BUILTIN(__builtin_s390_vgemq, " ULLLiV16Uc" , " nc" , " vector-enhancements-3" )
308+ TARGET_BUILTIN(__builtin_s390_vuplg, " SLLLiV2SLLi" , " nc" , " vector-enhancements-3" )
309+ TARGET_BUILTIN(__builtin_s390_vupllg, " ULLLiV2ULLi" , " nc" , " vector-enhancements-3" )
310+ TARGET_BUILTIN(__builtin_s390_vuphg, " SLLLiV2SLLi" , " nc" , " vector-enhancements-3" )
311+ TARGET_BUILTIN(__builtin_s390_vuplhg, " ULLLiV2ULLi" , " nc" , " vector-enhancements-3" )
312+ TARGET_BUILTIN(__builtin_s390_vavgq, " SLLLiSLLLiSLLLi" , " nc" , " vector-enhancements-3" )
313+ TARGET_BUILTIN(__builtin_s390_vavglq, " ULLLiULLLiULLLi" , " nc" , " vector-enhancements-3" )
314+ TARGET_BUILTIN(__builtin_s390_veval, " V16UcV16UcV16UcV16UcIi" , " nc" , " vector-enhancements-3" )
315+ TARGET_BUILTIN(__builtin_s390_vmahg, " V2SLLiV2SLLiV2SLLiV2SLLi" , " nc" , " vector-enhancements-3" )
316+ TARGET_BUILTIN(__builtin_s390_vmahq, " SLLLiSLLLiSLLLiSLLLi" , " nc" , " vector-enhancements-3" )
317+ TARGET_BUILTIN(__builtin_s390_vmalhg, " V2ULLiV2ULLiV2ULLiV2ULLi" , " nc" , " vector-enhancements-3" )
318+ TARGET_BUILTIN(__builtin_s390_vmalhq, " ULLLiULLLiULLLiULLLi" , " nc" , " vector-enhancements-3" )
319+ TARGET_BUILTIN(__builtin_s390_vmaeg, " SLLLiV2SLLiV2SLLiSLLLi" , " nc" , " vector-enhancements-3" )
320+ TARGET_BUILTIN(__builtin_s390_vmaleg, " ULLLiV2ULLiV2ULLiULLLi" , " nc" , " vector-enhancements-3" )
321+ TARGET_BUILTIN(__builtin_s390_vmaog, " SLLLiV2SLLiV2SLLiSLLLi" , " nc" , " vector-enhancements-3" )
322+ TARGET_BUILTIN(__builtin_s390_vmalog, " ULLLiV2ULLiV2ULLiULLLi" , " nc" , " vector-enhancements-3" )
323+ TARGET_BUILTIN(__builtin_s390_vmhg, " V2SLLiV2SLLiV2SLLi" , " nc" , " vector-enhancements-3" )
324+ TARGET_BUILTIN(__builtin_s390_vmhq, " SLLLiSLLLiSLLLi" , " nc" , " vector-enhancements-3" )
325+ TARGET_BUILTIN(__builtin_s390_vmlhg, " V2ULLiV2ULLiV2ULLi" , " nc" , " vector-enhancements-3" )
326+ TARGET_BUILTIN(__builtin_s390_vmlhq, " ULLLiULLLiULLLi" , " nc" , " vector-enhancements-3" )
327+ TARGET_BUILTIN(__builtin_s390_vmeg, " SLLLiV2SLLiV2SLLi" , " nc" , " vector-enhancements-3" )
328+ TARGET_BUILTIN(__builtin_s390_vmleg, " ULLLiV2ULLiV2ULLi" , " nc" , " vector-enhancements-3" )
329+ TARGET_BUILTIN(__builtin_s390_vmog, " SLLLiV2SLLiV2SLLi" , " nc" , " vector-enhancements-3" )
330+ TARGET_BUILTIN(__builtin_s390_vmlog, " ULLLiV2ULLiV2ULLi" , " nc" , " vector-enhancements-3" )
331+ TARGET_BUILTIN(__builtin_s390_vceqqs, " SLLLiULLLiULLLii*" , " nc" , " vector-enhancements-3" )
332+ TARGET_BUILTIN(__builtin_s390_vchqs, " SLLLiSLLLiSLLLii*" , " nc" , " vector-enhancements-3" )
333+ TARGET_BUILTIN(__builtin_s390_vchlqs, " SLLLiULLLiULLLii*" , " nc" , " vector-enhancements-3" )
334+ TARGET_BUILTIN(__builtin_s390_vclzq, " ULLLiULLLi" , " nc" , " vector-enhancements-3" )
335+ TARGET_BUILTIN(__builtin_s390_vctzq, " ULLLiULLLi" , " nc" , " vector-enhancements-3" )
336+
297337#undef BUILTIN
298338#undef TARGET_BUILTIN
0 commit comments