Lines Matching refs:mnemonic

179   typedef void (MacroAssembler::*mnemonic)(const VRegister& vd,  typedef in vixl::aarch64::Test2OpImmediateNEONHelper_t
2218 typename Test2OpImmediateNEONHelper_t<Tm>::mnemonic helper, in Test2OpImmNEON_Helper()
2309 typename Test2OpImmediateNEONHelper_t<Tm>::mnemonic helper, in Test2OpImmNEON()
2675 #define CALL_TEST_FP_HELPER(mnemonic, variant, type, input) \ argument
2676 Test##type(STRINGIFY(mnemonic) "_" STRINGIFY(variant), \
2677 &MacroAssembler::mnemonic, \
2680 kExpected_##mnemonic##_##variant, \
2681 kExpectedCount_##mnemonic##_##variant)
2683 #define DEFINE_TEST_FP(mnemonic, type, input) \ argument
2684 TEST(mnemonic##_d) { \
2685 CALL_TEST_FP_HELPER(mnemonic, d, type, kInputDouble##input); \
2687 TEST(mnemonic##_s) { \
2688 CALL_TEST_FP_HELPER(mnemonic, s, type, kInputFloat##input); \
2731 #define DEFINE_TEST_FP_TO_INT(mnemonic, type, input) \ argument
2732 TEST(mnemonic##_xd) { \
2733 CALL_TEST_FP_HELPER(mnemonic, xd, type, kInputDouble##input); \
2735 TEST(mnemonic##_xs) { \
2736 CALL_TEST_FP_HELPER(mnemonic, xs, type, kInputFloat##input); \
2738 TEST(mnemonic##_wd) { \
2739 CALL_TEST_FP_HELPER(mnemonic, wd, type, kInputDouble##input); \
2741 TEST(mnemonic##_ws) { \
2742 CALL_TEST_FP_HELPER(mnemonic, ws, type, kInputFloat##input); \
2765 #define CALL_TEST_NEON_HELPER_1Op(mnemonic, vdform, vnform, input_n) \ in DEFINE_TEST_FP_TO_INT() argument
2766 Test1OpNEON(STRINGIFY(mnemonic) "_" STRINGIFY(vdform), \ in DEFINE_TEST_FP_TO_INT()
2767 &MacroAssembler::mnemonic, \ in DEFINE_TEST_FP_TO_INT()
2770 kExpected_NEON_##mnemonic##_##vdform, \ in DEFINE_TEST_FP_TO_INT()
2771 kExpectedCount_NEON_##mnemonic##_##vdform, \ in DEFINE_TEST_FP_TO_INT()
2775 #define CALL_TEST_NEON_HELPER_1OpAcross(mnemonic, vdform, vnform, input_n) \ in DEFINE_TEST_FP_TO_INT() argument
2776 Test1OpAcrossNEON(STRINGIFY(mnemonic) "_" STRINGIFY(vdform) "_" STRINGIFY( \ in DEFINE_TEST_FP_TO_INT()
2778 &MacroAssembler::mnemonic, \ in DEFINE_TEST_FP_TO_INT()
2781 kExpected_NEON_##mnemonic##_##vdform##_##vnform, \ in DEFINE_TEST_FP_TO_INT()
2782 kExpectedCount_NEON_##mnemonic##_##vdform##_##vnform, \ in DEFINE_TEST_FP_TO_INT()
2787 mnemonic, vdform, vnform, vmform, input_d, input_n, input_m) \ in DEFINE_TEST_FP_TO_INT() argument
2788 Test2OpNEON(STRINGIFY(mnemonic) "_" STRINGIFY(vdform), \ in DEFINE_TEST_FP_TO_INT()
2789 &MacroAssembler::mnemonic, \ in DEFINE_TEST_FP_TO_INT()
2795 kExpected_NEON_##mnemonic##_##vdform, \ in DEFINE_TEST_FP_TO_INT()
2796 kExpectedCount_NEON_##mnemonic##_##vdform, \ in DEFINE_TEST_FP_TO_INT()
2802 mnemonic, vdform, vnform, input_n, input_m) \ in DEFINE_TEST_FP_TO_INT() argument
2803 Test2OpImmNEON(STRINGIFY(mnemonic) "_" STRINGIFY(vdform) "_2OPIMM", \ in DEFINE_TEST_FP_TO_INT()
2804 &MacroAssembler::mnemonic, \ in DEFINE_TEST_FP_TO_INT()
2809 kExpected_NEON_##mnemonic##_##vdform##_2OPIMM, \ in DEFINE_TEST_FP_TO_INT()
2810 kExpectedCount_NEON_##mnemonic##_##vdform##_2OPIMM, \ in DEFINE_TEST_FP_TO_INT()
2815 mnemonic, vdform, vnform, vmform, input_d, input_n, input_m, indices) \ in DEFINE_TEST_FP_TO_INT() argument
2817 STRINGIFY(mnemonic) "_" STRINGIFY(vdform) "_" STRINGIFY( \ in DEFINE_TEST_FP_TO_INT()
2819 &MacroAssembler::mnemonic, \ in DEFINE_TEST_FP_TO_INT()
2827 kExpected_NEON_##mnemonic##_##vdform##_##vnform##_##vmform, \ in DEFINE_TEST_FP_TO_INT()
2828 kExpectedCount_NEON_##mnemonic##_##vdform##_##vnform##_##vmform, \ in DEFINE_TEST_FP_TO_INT()
2834 mnemonic, \ in DEFINE_TEST_FP_TO_INT() argument
2841 TestOpImmOpImmNEON(STRINGIFY(mnemonic) "_" STRINGIFY(vdform), \ in DEFINE_TEST_FP_TO_INT()
2850 kExpected_NEON_##mnemonic##_##vdform, \ in DEFINE_TEST_FP_TO_INT()
2851 kExpectedCount_NEON_##mnemonic##_##vdform, \ in DEFINE_TEST_FP_TO_INT()
2855 #define CALL_TEST_NEON_HELPER_2SAME(mnemonic, variant, input) \ in DEFINE_TEST_FP_TO_INT() argument
2856 CALL_TEST_NEON_HELPER_1Op(mnemonic, variant, variant, input) in DEFINE_TEST_FP_TO_INT()
2858 #define DEFINE_TEST_NEON_2SAME_8B_16B(mnemonic, input) \ in DEFINE_TEST_FP_TO_INT() argument
2859 TEST(mnemonic##_8B) { \ in DEFINE_TEST_FP_TO_INT()
2860 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 8B, kInput8bits##input); \ in DEFINE_TEST_FP_TO_INT()
2862 TEST(mnemonic##_16B) { \
2863 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 16B, kInput8bits##input); \
2866 #define DEFINE_TEST_NEON_2SAME_4H_8H(mnemonic, input) \ argument
2867 TEST(mnemonic##_4H) { \
2868 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 4H, kInput16bits##input); \
2870 TEST(mnemonic##_8H) { \
2871 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 8H, kInput16bits##input); \
2874 #define DEFINE_TEST_NEON_2SAME_2S_4S(mnemonic, input) \ argument
2875 TEST(mnemonic##_2S) { \
2876 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 2S, kInput32bits##input); \
2878 TEST(mnemonic##_4S) { \
2879 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 4S, kInput32bits##input); \
2882 #define DEFINE_TEST_NEON_2SAME_BH(mnemonic, input) \ argument
2883 DEFINE_TEST_NEON_2SAME_8B_16B(mnemonic, input) \
2884 DEFINE_TEST_NEON_2SAME_4H_8H(mnemonic, input)
2886 #define DEFINE_TEST_NEON_2SAME_NO2D(mnemonic, input) \ argument
2887 DEFINE_TEST_NEON_2SAME_BH(mnemonic, input) \
2888 DEFINE_TEST_NEON_2SAME_2S_4S(mnemonic, input)
2890 #define DEFINE_TEST_NEON_2SAME(mnemonic, input) \ argument
2891 DEFINE_TEST_NEON_2SAME_NO2D(mnemonic, input) \
2892 TEST(mnemonic##_2D) { \
2893 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 2D, kInput64bits##input); \
2895 #define DEFINE_TEST_NEON_2SAME_SD(mnemonic, input) \ argument
2896 DEFINE_TEST_NEON_2SAME_2S_4S(mnemonic, input) \
2897 TEST(mnemonic##_2D) { \
2898 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 2D, kInput64bits##input); \
2901 #define DEFINE_TEST_NEON_2SAME_FP(mnemonic, input) \ argument
2902 TEST(mnemonic##_2S) { \
2903 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 2S, kInputFloat##input); \
2905 TEST(mnemonic##_4S) { \
2906 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 4S, kInputFloat##input); \
2908 TEST(mnemonic##_2D) { \
2909 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 2D, kInputDouble##input); \
2912 #define DEFINE_TEST_NEON_2SAME_FP_SCALAR(mnemonic, input) \ argument
2913 TEST(mnemonic##_S) { \
2914 CALL_TEST_NEON_HELPER_2SAME(mnemonic, S, kInputFloat##input); \
2916 TEST(mnemonic##_D) { \
2917 CALL_TEST_NEON_HELPER_2SAME(mnemonic, D, kInputDouble##input); \
2920 #define DEFINE_TEST_NEON_2SAME_SCALAR_B(mnemonic, input) \ argument
2921 TEST(mnemonic##_B) { \
2922 CALL_TEST_NEON_HELPER_2SAME(mnemonic, B, kInput8bits##input); \
2924 #define DEFINE_TEST_NEON_2SAME_SCALAR_H(mnemonic, input) \ argument
2925 TEST(mnemonic##_H) { \
2926 CALL_TEST_NEON_HELPER_2SAME(mnemonic, H, kInput16bits##input); \
2928 #define DEFINE_TEST_NEON_2SAME_SCALAR_S(mnemonic, input) \ argument
2929 TEST(mnemonic##_S) { \
2930 CALL_TEST_NEON_HELPER_2SAME(mnemonic, S, kInput32bits##input); \
2932 #define DEFINE_TEST_NEON_2SAME_SCALAR_D(mnemonic, input) \ argument
2933 TEST(mnemonic##_D) { \
2934 CALL_TEST_NEON_HELPER_2SAME(mnemonic, D, kInput64bits##input); \
2937 #define DEFINE_TEST_NEON_2SAME_SCALAR(mnemonic, input) \ argument
2938 DEFINE_TEST_NEON_2SAME_SCALAR_B(mnemonic, input) \
2939 DEFINE_TEST_NEON_2SAME_SCALAR_H(mnemonic, input) \
2940 DEFINE_TEST_NEON_2SAME_SCALAR_S(mnemonic, input) \
2941 DEFINE_TEST_NEON_2SAME_SCALAR_D(mnemonic, input)
2943 #define DEFINE_TEST_NEON_2SAME_SCALAR_SD(mnemonic, input) \ argument
2944 DEFINE_TEST_NEON_2SAME_SCALAR_S(mnemonic, input) \
2945 DEFINE_TEST_NEON_2SAME_SCALAR_D(mnemonic, input)
2948 #define CALL_TEST_NEON_HELPER_ACROSS(mnemonic, vd_form, vn_form, input_n) \ argument
2949 CALL_TEST_NEON_HELPER_1OpAcross(mnemonic, vd_form, vn_form, input_n)
2951 #define DEFINE_TEST_NEON_ACROSS(mnemonic, input) \ argument
2952 TEST(mnemonic##_B_8B) { \
2953 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, B, 8B, kInput8bits##input); \
2955 TEST(mnemonic##_B_16B) { \
2956 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, B, 16B, kInput8bits##input); \
2958 TEST(mnemonic##_H_4H) { \
2959 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, H, 4H, kInput16bits##input); \
2961 TEST(mnemonic##_H_8H) { \
2962 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, H, 8H, kInput16bits##input); \
2964 TEST(mnemonic##_S_4S) { \
2965 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, S, 4S, kInput32bits##input); \
2968 #define DEFINE_TEST_NEON_ACROSS_LONG(mnemonic, input) \ argument
2969 TEST(mnemonic##_H_8B) { \
2970 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, H, 8B, kInput8bits##input); \
2972 TEST(mnemonic##_H_16B) { \
2973 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, H, 16B, kInput8bits##input); \
2975 TEST(mnemonic##_S_4H) { \
2976 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, S, 4H, kInput16bits##input); \
2978 TEST(mnemonic##_S_8H) { \
2979 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, S, 8H, kInput16bits##input); \
2981 TEST(mnemonic##_D_4S) { \
2982 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, D, 4S, kInput32bits##input); \
2985 #define DEFINE_TEST_NEON_ACROSS_FP(mnemonic, input) \ argument
2986 TEST(mnemonic##_S_4S) { \
2987 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, S, 4S, kInputFloat##input); \
2990 #define CALL_TEST_NEON_HELPER_2DIFF(mnemonic, vdform, vnform, input_n) \ argument
2991 CALL_TEST_NEON_HELPER_1Op(mnemonic, vdform, vnform, input_n)
2993 #define DEFINE_TEST_NEON_2DIFF_LONG(mnemonic, input) \ argument
2994 TEST(mnemonic##_4H) { \
2995 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 4H, 8B, kInput8bits##input); \
2997 TEST(mnemonic##_8H) { \
2998 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 8H, 16B, kInput8bits##input); \
3000 TEST(mnemonic##_2S) { \
3001 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2S, 4H, kInput16bits##input); \
3003 TEST(mnemonic##_4S) { \
3004 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 4S, 8H, kInput16bits##input); \
3006 TEST(mnemonic##_1D) { \
3007 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 1D, 2S, kInput32bits##input); \
3009 TEST(mnemonic##_2D) { \
3010 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2D, 4S, kInput32bits##input); \
3013 #define DEFINE_TEST_NEON_2DIFF_NARROW(mnemonic, input) \ argument
3014 TEST(mnemonic##_8B) { \
3015 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 8B, 8H, kInput16bits##input); \
3017 TEST(mnemonic##_4H) { \
3018 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 4H, 4S, kInput32bits##input); \
3020 TEST(mnemonic##_2S) { \
3021 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2S, 2D, kInput64bits##input); \
3023 TEST(mnemonic##2_16B) { \
3024 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 16B, 8H, kInput16bits##input); \
3026 TEST(mnemonic##2_8H) { \
3027 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 8H, 4S, kInput32bits##input); \
3029 TEST(mnemonic##2_4S) { \
3030 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 4S, 2D, kInput64bits##input); \
3033 #define DEFINE_TEST_NEON_2DIFF_FP_LONG(mnemonic, input) \ argument
3034 TEST(mnemonic##_4S) { \
3035 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 4S, 4H, kInputFloat16##input); \
3037 TEST(mnemonic##_2D) { \
3038 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2D, 2S, kInputFloat##input); \
3040 TEST(mnemonic##2_4S) { \
3041 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 4S, 8H, kInputFloat16##input); \
3043 TEST(mnemonic##2_2D) { \
3044 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 2D, 4S, kInputFloat##input); \
3047 #define DEFINE_TEST_NEON_2DIFF_FP_NARROW(mnemonic, input) \ argument
3048 TEST(mnemonic##_4H) { \
3049 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 4H, 4S, kInputFloat##input); \
3051 TEST(mnemonic##_2S) { \
3052 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2S, 2D, kInputDouble##input); \
3054 TEST(mnemonic##2_8H) { \
3055 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 8H, 4S, kInputFloat##input); \
3057 TEST(mnemonic##2_4S) { \
3058 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 4S, 2D, kInputDouble##input); \
3061 #define DEFINE_TEST_NEON_2DIFF_FP_NARROW_2S(mnemonic, input) \ argument
3062 TEST(mnemonic##_2S) { \
3063 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2S, 2D, kInputDouble##input); \
3065 TEST(mnemonic##2_4S) { \
3066 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 4S, 2D, kInputDouble##input); \
3069 #define DEFINE_TEST_NEON_2DIFF_SCALAR_NARROW(mnemonic, input) \ argument
3070 TEST(mnemonic##_B) { \
3071 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, B, H, kInput16bits##input); \
3073 TEST(mnemonic##_H) { \
3074 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, H, S, kInput32bits##input); \
3076 TEST(mnemonic##_S) { \
3077 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, S, D, kInput64bits##input); \
3080 #define DEFINE_TEST_NEON_2DIFF_FP_SCALAR_SD(mnemonic, input) \ argument
3081 TEST(mnemonic##_S) { \
3082 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, S, 2S, kInputFloat##input); \
3084 TEST(mnemonic##_D) { \
3085 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, D, 2D, kInputDouble##input); \
3088 #define CALL_TEST_NEON_HELPER_3SAME(mnemonic, variant, input_d, input_nm) \ argument
3090 CALL_TEST_NEON_HELPER_2Op(mnemonic, \
3099 #define DEFINE_TEST_NEON_3SAME_8B_16B(mnemonic, input) \ argument
3100 TEST(mnemonic##_8B) { \
3101 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3106 TEST(mnemonic##_16B) { \
3107 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3113 #define DEFINE_TEST_NEON_3SAME_HS(mnemonic, input) \ argument
3114 TEST(mnemonic##_4H) { \
3115 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3120 TEST(mnemonic##_8H) { \
3121 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3126 TEST(mnemonic##_2S) { \
3127 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3132 TEST(mnemonic##_4S) { \
3133 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3139 #define DEFINE_TEST_NEON_3SAME_NO2D(mnemonic, input) \ argument
3140 DEFINE_TEST_NEON_3SAME_8B_16B(mnemonic, input) \
3141 DEFINE_TEST_NEON_3SAME_HS(mnemonic, input)
3143 #define DEFINE_TEST_NEON_3SAME(mnemonic, input) \ argument
3144 DEFINE_TEST_NEON_3SAME_NO2D(mnemonic, input) \
3145 TEST(mnemonic##_2D) { \
3146 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3152 #define DEFINE_TEST_NEON_3SAME_FP(mnemonic, input) \ argument
3153 TEST(mnemonic##_2S) { \
3154 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3159 TEST(mnemonic##_4S) { \
3160 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3165 TEST(mnemonic##_2D) { \
3166 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3172 #define DEFINE_TEST_NEON_3SAME_SCALAR_D(mnemonic, input) \ argument
3173 TEST(mnemonic##_D) { \
3174 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3180 #define DEFINE_TEST_NEON_3SAME_SCALAR_HS(mnemonic, input) \ argument
3181 TEST(mnemonic##_H) { \
3182 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3187 TEST(mnemonic##_S) { \
3188 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3194 #define DEFINE_TEST_NEON_3SAME_SCALAR(mnemonic, input) \ argument
3195 TEST(mnemonic##_B) { \
3196 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3201 TEST(mnemonic##_H) { \
3202 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3207 TEST(mnemonic##_S) { \
3208 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3213 TEST(mnemonic##_D) { \
3214 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3220 #define DEFINE_TEST_NEON_3SAME_FP_SCALAR(mnemonic, input) \ argument
3221 TEST(mnemonic##_S) { \
3222 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3227 TEST(mnemonic##_D) { \
3228 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3235 mnemonic, vdform, vnform, vmform, input_d, input_n, input_m) \ argument
3237 CALL_TEST_NEON_HELPER_2Op(mnemonic, \
3246 #define DEFINE_TEST_NEON_3DIFF_LONG_8H(mnemonic, input) \ argument
3247 TEST(mnemonic##_8H) { \
3248 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3256 TEST(mnemonic##2_8H) { \
3257 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3266 #define DEFINE_TEST_NEON_3DIFF_LONG_4S(mnemonic, input) \ argument
3267 TEST(mnemonic##_4S) { \
3268 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3276 TEST(mnemonic##2_4S) { \
3277 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3286 #define DEFINE_TEST_NEON_3DIFF_LONG_2D(mnemonic, input) \ argument
3287 TEST(mnemonic##_2D) { \
3288 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3296 TEST(mnemonic##2_2D) { \
3297 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3306 #define DEFINE_TEST_NEON_3DIFF_LONG_SD(mnemonic, input) \ argument
3307 DEFINE_TEST_NEON_3DIFF_LONG_4S(mnemonic, input) \
3308 DEFINE_TEST_NEON_3DIFF_LONG_2D(mnemonic, input)
3310 #define DEFINE_TEST_NEON_3DIFF_LONG(mnemonic, input) \ argument
3311 DEFINE_TEST_NEON_3DIFF_LONG_8H(mnemonic, input) \
3312 DEFINE_TEST_NEON_3DIFF_LONG_4S(mnemonic, input) \
3313 DEFINE_TEST_NEON_3DIFF_LONG_2D(mnemonic, input)
3315 #define DEFINE_TEST_NEON_3DIFF_SCALAR_LONG_S(mnemonic, input) \ argument
3316 TEST(mnemonic##_S) { \
3317 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3326 #define DEFINE_TEST_NEON_3DIFF_SCALAR_LONG_D(mnemonic, input) \ argument
3327 TEST(mnemonic##_D) { \
3328 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3337 #define DEFINE_TEST_NEON_3DIFF_SCALAR_LONG_SD(mnemonic, input) \ argument
3338 DEFINE_TEST_NEON_3DIFF_SCALAR_LONG_S(mnemonic, input) \
3339 DEFINE_TEST_NEON_3DIFF_SCALAR_LONG_D(mnemonic, input)
3341 #define DEFINE_TEST_NEON_3DIFF_WIDE(mnemonic, input) \ argument
3342 TEST(mnemonic##_8H) { \
3343 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3351 TEST(mnemonic##_4S) { \
3352 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3360 TEST(mnemonic##_2D) { \
3361 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3369 TEST(mnemonic##2_8H) { \
3370 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3378 TEST(mnemonic##2_4S) { \
3379 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3387 TEST(mnemonic##2_2D) { \
3388 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3397 #define DEFINE_TEST_NEON_3DIFF_NARROW(mnemonic, input) \ argument
3398 TEST(mnemonic##_8B) { \
3399 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3407 TEST(mnemonic##_4H) { \
3408 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3416 TEST(mnemonic##_2S) { \
3417 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3425 TEST(mnemonic##2_16B) { \
3426 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3434 TEST(mnemonic##2_8H) { \
3435 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3443 TEST(mnemonic##2_4S) { \
3444 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3454 mnemonic, vdform, vnform, input_n, input_imm) \ argument
3456 CALL_TEST_NEON_HELPER_2OpImm(mnemonic, \
3463 #define DEFINE_TEST_NEON_2OPIMM(mnemonic, input, input_imm) \ argument
3464 TEST(mnemonic##_8B_2OPIMM) { \
3465 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3471 TEST(mnemonic##_16B_2OPIMM) { \
3472 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3478 TEST(mnemonic##_4H_2OPIMM) { \
3479 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3485 TEST(mnemonic##_8H_2OPIMM) { \
3486 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3492 TEST(mnemonic##_2S_2OPIMM) { \
3493 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3499 TEST(mnemonic##_4S_2OPIMM) { \
3500 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3506 TEST(mnemonic##_2D_2OPIMM) { \
3507 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3514 #define DEFINE_TEST_NEON_2OPIMM_COPY(mnemonic, input, input_imm) \ argument
3515 TEST(mnemonic##_8B_2OPIMM) { \
3516 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3522 TEST(mnemonic##_16B_2OPIMM) { \
3523 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3529 TEST(mnemonic##_4H_2OPIMM) { \
3530 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3536 TEST(mnemonic##_8H_2OPIMM) { \
3537 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3543 TEST(mnemonic##_2S_2OPIMM) { \
3544 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3550 TEST(mnemonic##_4S_2OPIMM) { \
3551 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3557 TEST(mnemonic##_2D_2OPIMM) { \
3558 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3565 #define DEFINE_TEST_NEON_2OPIMM_NARROW(mnemonic, input, input_imm) \ argument
3566 TEST(mnemonic##_8B_2OPIMM) { \
3567 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3573 TEST(mnemonic##_4H_2OPIMM) { \
3574 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3580 TEST(mnemonic##_2S_2OPIMM) { \
3581 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3587 TEST(mnemonic##2_16B_2OPIMM) { \
3588 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
3594 TEST(mnemonic##2_8H_2OPIMM) { \
3595 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
3601 TEST(mnemonic##2_4S_2OPIMM) { \
3602 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
3609 #define DEFINE_TEST_NEON_2OPIMM_SCALAR_NARROW(mnemonic, input, input_imm) \ argument
3610 TEST(mnemonic##_B_2OPIMM) { \
3611 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3617 TEST(mnemonic##_H_2OPIMM) { \
3618 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3624 TEST(mnemonic##_S_2OPIMM) { \
3625 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3632 #define DEFINE_TEST_NEON_2OPIMM_FCMP_ZERO(mnemonic, input, input_imm) \ argument
3633 TEST(mnemonic##_2S_2OPIMM) { \
3634 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3640 TEST(mnemonic##_4S_2OPIMM) { \
3641 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3647 TEST(mnemonic##_2D_2OPIMM) { \
3648 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3655 #define DEFINE_TEST_NEON_2OPIMM_FP(mnemonic, input, input_imm) \ argument
3656 TEST(mnemonic##_2S_2OPIMM) { \
3657 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3663 TEST(mnemonic##_4S_2OPIMM) { \
3664 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3670 TEST(mnemonic##_2D_2OPIMM) { \
3671 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3678 #define DEFINE_TEST_NEON_2OPIMM_FP_SCALAR(mnemonic, input, input_imm) \ argument
3679 TEST(mnemonic##_S_2OPIMM) { \
3680 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3686 TEST(mnemonic##_D_2OPIMM) { \
3687 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3694 #define DEFINE_TEST_NEON_2OPIMM_SD(mnemonic, input, input_imm) \ argument
3695 TEST(mnemonic##_2S_2OPIMM) { \
3696 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3702 TEST(mnemonic##_4S_2OPIMM) { \
3703 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3709 TEST(mnemonic##_2D_2OPIMM) { \
3710 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3717 #define DEFINE_TEST_NEON_2OPIMM_SCALAR_D(mnemonic, input, input_imm) \ argument
3718 TEST(mnemonic##_D_2OPIMM) { \
3719 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3726 #define DEFINE_TEST_NEON_2OPIMM_SCALAR_SD(mnemonic, input, input_imm) \ argument
3727 TEST(mnemonic##_S_2OPIMM) { \
3728 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3734 DEFINE_TEST_NEON_2OPIMM_SCALAR_D(mnemonic, input, input_imm)
3736 #define DEFINE_TEST_NEON_2OPIMM_FP_SCALAR_D(mnemonic, input, input_imm) \ argument
3737 TEST(mnemonic##_D_2OPIMM) { \
3738 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3745 #define DEFINE_TEST_NEON_2OPIMM_FP_SCALAR_SD(mnemonic, input, input_imm) \ argument
3746 TEST(mnemonic##_S_2OPIMM) { \
3747 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3753 DEFINE_TEST_NEON_2OPIMM_FP_SCALAR_D(mnemonic, input, input_imm)
3755 #define DEFINE_TEST_NEON_2OPIMM_SCALAR(mnemonic, input, input_imm) \ argument
3756 TEST(mnemonic##_B_2OPIMM) { \
3757 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3763 TEST(mnemonic##_H_2OPIMM) { \
3764 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3770 DEFINE_TEST_NEON_2OPIMM_SCALAR_SD(mnemonic, input, input_imm)
3772 #define DEFINE_TEST_NEON_2OPIMM_LONG(mnemonic, input, input_imm) \ argument
3773 TEST(mnemonic##_8H_2OPIMM) { \
3774 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3780 TEST(mnemonic##_4S_2OPIMM) { \
3781 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3787 TEST(mnemonic##_2D_2OPIMM) { \
3788 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3794 TEST(mnemonic##2_8H_2OPIMM) { \
3795 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
3801 TEST(mnemonic##2_4S_2OPIMM) { \
3802 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
3808 TEST(mnemonic##2_2D_2OPIMM) { \
3809 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
3817 mnemonic, vdform, vnform, vmform, input_d, input_n, input_m, indices) \ argument
3819 CALL_TEST_NEON_HELPER_ByElement(mnemonic, \
3829 #define DEFINE_TEST_NEON_BYELEMENT(mnemonic, input_d, input_n, input_m) \ argument
3830 TEST(mnemonic##_4H_4H_H) { \
3831 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3840 TEST(mnemonic##_8H_8H_H) { \
3841 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3850 TEST(mnemonic##_2S_2S_S) { \
3851 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3860 TEST(mnemonic##_4S_4S_S) { \
3861 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3871 #define DEFINE_TEST_NEON_BYELEMENT_SCALAR(mnemonic, input_d, input_n, input_m) \ argument
3872 TEST(mnemonic##_H_H_H) { \
3873 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3882 TEST(mnemonic##_S_S_S) { \
3883 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3893 #define DEFINE_TEST_NEON_FP_BYELEMENT(mnemonic, input_d, input_n, input_m) \ argument
3894 TEST(mnemonic##_2S_2S_S) { \
3895 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3904 TEST(mnemonic##_4S_4S_S) { \
3905 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3914 TEST(mnemonic##_2D_2D_D) { \
3915 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3925 #define DEFINE_TEST_NEON_FP_BYELEMENT_SCALAR(mnemonic, inp_d, inp_n, inp_m) \ argument
3926 TEST(mnemonic##_S_S_S) { \
3927 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3936 TEST(mnemonic##_D_D_D) { \
3937 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3948 #define DEFINE_TEST_NEON_BYELEMENT_DIFF(mnemonic, input_d, input_n, input_m) \ argument
3949 TEST(mnemonic##_4S_4H_H) { \
3950 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3959 TEST(mnemonic##2_4S_8H_H) { \
3960 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic##2, \
3969 TEST(mnemonic##_2D_2S_S) { \
3970 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
3979 TEST(mnemonic##2_2D_4S_S) { \
3980 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic##2, \
3991 mnemonic, input_d, input_n, input_m) \ argument
3992 TEST(mnemonic##_S_H_H) { \
3993 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4002 TEST(mnemonic##_D_S_S) { \
4003 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4015 mnemonic, variant, input_d, input_imm1, input_n, input_imm2) \ argument
4017 CALL_TEST_NEON_HELPER_OpImmOpImm(&MacroAssembler::mnemonic, \
4018 mnemonic, \
4028 mnemonic, input_d, input_imm1, input_n, input_imm2) \ argument
4029 TEST(mnemonic##_B) { \
4030 CALL_TEST_NEON_HELPER_2OP2IMM(mnemonic, \
4037 TEST(mnemonic##_H) { \
4038 CALL_TEST_NEON_HELPER_2OP2IMM(mnemonic, \
4045 TEST(mnemonic##_S) { \
4046 CALL_TEST_NEON_HELPER_2OP2IMM(mnemonic, \
4053 TEST(mnemonic##_D) { \
4054 CALL_TEST_NEON_HELPER_2OP2IMM(mnemonic, \