Lines Matching refs:mnemonic

224   typedef void (MacroAssembler::*mnemonic)(const VRegister& vd,  typedef in vixl::aarch64::Test2OpImmediateNEONHelper_t
2406 typename Test2OpImmediateNEONHelper_t<Tm>::mnemonic helper, in Test2OpImmNEON_Helper()
2500 typename Test2OpImmediateNEONHelper_t<Tm>::mnemonic helper, in Test2OpImmNEON()
2873 #define CALL_TEST_FP_HELPER(mnemonic, variant, type, input) \ argument
2874 Test##type(STRINGIFY(mnemonic) "_" STRINGIFY(variant), \
2875 &MacroAssembler::mnemonic, \
2878 kExpected_##mnemonic##_##variant, \
2879 kExpectedCount_##mnemonic##_##variant)
2881 #define DEFINE_TEST_FP(mnemonic, type, input) \ argument
2882 TEST(mnemonic##_d) { \
2883 CALL_TEST_FP_HELPER(mnemonic, d, type, kInputDouble##input); \
2885 TEST(mnemonic##_s) { \
2886 CALL_TEST_FP_HELPER(mnemonic, s, type, kInputFloat##input); \
2889 #define DEFINE_TEST_FP_FP16(mnemonic, type, input) \ argument
2890 TEST(mnemonic##_d) { \
2891 CALL_TEST_FP_HELPER(mnemonic, d, type, kInputDouble##input); \
2893 TEST(mnemonic##_s) { \
2894 CALL_TEST_FP_HELPER(mnemonic, s, type, kInputFloat##input); \
2896 TEST(mnemonic##_h) { \
2897 CALL_TEST_FP_HELPER(mnemonic, h, type, kInputFloat16##input); \
2941 #define DEFINE_TEST_FP_TO_INT(mnemonic, type, input) \ argument
2942 TEST(mnemonic##_xd) { \
2943 CALL_TEST_FP_HELPER(mnemonic, xd, type, kInputDouble##input); \
2945 TEST(mnemonic##_xs) { \
2946 CALL_TEST_FP_HELPER(mnemonic, xs, type, kInputFloat##input); \
2948 TEST(mnemonic##_xh) { \
2949 CALL_TEST_FP_HELPER(mnemonic, xh, type, kInputFloat16##input); \
2951 TEST(mnemonic##_wd) { \
2952 CALL_TEST_FP_HELPER(mnemonic, wd, type, kInputDouble##input); \
2954 TEST(mnemonic##_ws) { \
2955 CALL_TEST_FP_HELPER(mnemonic, ws, type, kInputFloat##input); \
2957 TEST(mnemonic##_wh) { \
2958 CALL_TEST_FP_HELPER(mnemonic, wh, type, kInputFloat16##input); \
2970 #define DEFINE_TEST_FP_TO_JS_INT(mnemonic, type, input) \ in DEFINE_TEST_FP_TO_INT() argument
2971 TEST(mnemonic##_wd) { \ in DEFINE_TEST_FP_TO_INT()
2972 CALL_TEST_FP_HELPER(mnemonic, wd, type, kInputDouble##input); \ in DEFINE_TEST_FP_TO_INT()
2988 #define CALL_TEST_NEON_HELPER_1Op(mnemonic, vdform, vnform, input_n) \ argument
2989 Test1OpNEON(STRINGIFY(mnemonic) "_" STRINGIFY(vdform), \
2990 &MacroAssembler::mnemonic, \
2993 kExpected_NEON_##mnemonic##_##vdform, \
2994 kExpectedCount_NEON_##mnemonic##_##vdform, \
2998 #define CALL_TEST_NEON_HELPER_1OpAcross(mnemonic, vdform, vnform, input_n) \ argument
2999 Test1OpAcrossNEON(STRINGIFY(mnemonic) "_" STRINGIFY(vdform) "_" STRINGIFY( \
3001 &MacroAssembler::mnemonic, \
3004 kExpected_NEON_##mnemonic##_##vdform##_##vnform, \
3005 kExpectedCount_NEON_##mnemonic##_##vdform##_##vnform, \
3010 mnemonic, vdform, vnform, vmform, input_d, input_n, input_m) \ argument
3011 Test2OpNEON(STRINGIFY(mnemonic) "_" STRINGIFY(vdform), \
3012 &MacroAssembler::mnemonic, \
3018 kExpected_NEON_##mnemonic##_##vdform, \
3019 kExpectedCount_NEON_##mnemonic##_##vdform, \
3025 mnemonic, vdform, vnform, input_n, input_m) \ argument
3026 Test2OpImmNEON(STRINGIFY(mnemonic) "_" STRINGIFY(vdform) "_2OPIMM", \
3027 &MacroAssembler::mnemonic, \
3032 kExpected_NEON_##mnemonic##_##vdform##_2OPIMM, \
3033 kExpectedCount_NEON_##mnemonic##_##vdform##_2OPIMM, \
3038 mnemonic, vdform, vnform, vmform, input_d, input_n, input_m, indices) \ argument
3040 STRINGIFY(mnemonic) "_" STRINGIFY(vdform) "_" STRINGIFY( \
3042 &MacroAssembler::mnemonic, \
3050 kExpected_NEON_##mnemonic##_##vdform##_##vnform##_##vmform, \
3051 kExpectedCount_NEON_##mnemonic##_##vdform##_##vnform##_##vmform, \
3056 #define CALL_TEST_NEON_HELPER_ByElement_Dot_Product(mnemonic, \ argument
3066 STRINGIFY(mnemonic) "_" STRINGIFY(vdform) "_" STRINGIFY( \
3068 &MacroAssembler::mnemonic, \
3076 kExpected_NEON_##mnemonic##_##vdform##_##vnform##_##vmform, \
3077 kExpectedCount_NEON_##mnemonic##_##vdform##_##vnform##_##vmform, \
3084 mnemonic, \ argument
3091 TestOpImmOpImmNEON(STRINGIFY(mnemonic) "_" STRINGIFY(vdform), \
3100 kExpected_NEON_##mnemonic##_##vdform, \
3101 kExpectedCount_NEON_##mnemonic##_##vdform, \
3105 #define CALL_TEST_NEON_HELPER_2SAME(mnemonic, variant, input) \ argument
3106 CALL_TEST_NEON_HELPER_1Op(mnemonic, variant, variant, input)
3108 #define DEFINE_TEST_NEON_2SAME_8B_16B(mnemonic, input) \ argument
3109 TEST(mnemonic##_8B) { \
3110 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 8B, kInput8bits##input); \
3112 TEST(mnemonic##_16B) { \
3113 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 16B, kInput8bits##input); \
3116 #define DEFINE_TEST_NEON_2SAME_4H_8H(mnemonic, input) \ argument
3117 TEST(mnemonic##_4H) { \
3118 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 4H, kInput16bits##input); \
3120 TEST(mnemonic##_8H) { \
3121 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 8H, kInput16bits##input); \
3124 #define DEFINE_TEST_NEON_2SAME_2S_4S(mnemonic, input) \ argument
3125 TEST(mnemonic##_2S) { \
3126 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 2S, kInput32bits##input); \
3128 TEST(mnemonic##_4S) { \
3129 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 4S, kInput32bits##input); \
3132 #define DEFINE_TEST_NEON_2SAME_BH(mnemonic, input) \ argument
3133 DEFINE_TEST_NEON_2SAME_8B_16B(mnemonic, input) \
3134 DEFINE_TEST_NEON_2SAME_4H_8H(mnemonic, input)
3136 #define DEFINE_TEST_NEON_2SAME_NO2D(mnemonic, input) \ argument
3137 DEFINE_TEST_NEON_2SAME_BH(mnemonic, input) \
3138 DEFINE_TEST_NEON_2SAME_2S_4S(mnemonic, input)
3140 #define DEFINE_TEST_NEON_2SAME(mnemonic, input) \ argument
3141 DEFINE_TEST_NEON_2SAME_NO2D(mnemonic, input) \
3142 TEST(mnemonic##_2D) { \
3143 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 2D, kInput64bits##input); \
3145 #define DEFINE_TEST_NEON_2SAME_SD(mnemonic, input) \ argument
3146 DEFINE_TEST_NEON_2SAME_2S_4S(mnemonic, input) \
3147 TEST(mnemonic##_2D) { \
3148 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 2D, kInput64bits##input); \
3151 #define DEFINE_TEST_NEON_2SAME_FP(mnemonic, input) \ argument
3152 TEST(mnemonic##_2S) { \
3153 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 2S, kInputFloat##input); \
3155 TEST(mnemonic##_4S) { \
3156 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 4S, kInputFloat##input); \
3158 TEST(mnemonic##_2D) { \
3159 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 2D, kInputDouble##input); \
3162 #define DEFINE_TEST_NEON_2SAME_FP_FP16(mnemonic, input) \ argument
3163 DEFINE_TEST_NEON_2SAME_FP(mnemonic, input) \
3164 TEST(mnemonic##_4H) { \
3165 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 4H, kInputFloat16##input); \
3167 TEST(mnemonic##_8H) { \
3168 CALL_TEST_NEON_HELPER_2SAME(mnemonic, 8H, kInputFloat16##input); \
3171 #define DEFINE_TEST_NEON_2SAME_FP_FP16_SCALAR(mnemonic, input) \ argument
3172 TEST(mnemonic##_H) { \
3173 CALL_TEST_NEON_HELPER_2SAME(mnemonic, H, kInputFloat16##input); \
3175 TEST(mnemonic##_S) { \
3176 CALL_TEST_NEON_HELPER_2SAME(mnemonic, S, kInputFloat##input); \
3178 TEST(mnemonic##_D) { \
3179 CALL_TEST_NEON_HELPER_2SAME(mnemonic, D, kInputDouble##input); \
3182 #define DEFINE_TEST_NEON_2SAME_SCALAR_B(mnemonic, input) \ argument
3183 TEST(mnemonic##_B) { \
3184 CALL_TEST_NEON_HELPER_2SAME(mnemonic, B, kInput8bits##input); \
3186 #define DEFINE_TEST_NEON_2SAME_SCALAR_H(mnemonic, input) \ argument
3187 TEST(mnemonic##_H) { \
3188 CALL_TEST_NEON_HELPER_2SAME(mnemonic, H, kInput16bits##input); \
3190 #define DEFINE_TEST_NEON_2SAME_SCALAR_S(mnemonic, input) \ argument
3191 TEST(mnemonic##_S) { \
3192 CALL_TEST_NEON_HELPER_2SAME(mnemonic, S, kInput32bits##input); \
3194 #define DEFINE_TEST_NEON_2SAME_SCALAR_D(mnemonic, input) \ argument
3195 TEST(mnemonic##_D) { \
3196 CALL_TEST_NEON_HELPER_2SAME(mnemonic, D, kInput64bits##input); \
3199 #define DEFINE_TEST_NEON_2SAME_SCALAR(mnemonic, input) \ argument
3200 DEFINE_TEST_NEON_2SAME_SCALAR_B(mnemonic, input) \
3201 DEFINE_TEST_NEON_2SAME_SCALAR_H(mnemonic, input) \
3202 DEFINE_TEST_NEON_2SAME_SCALAR_S(mnemonic, input) \
3203 DEFINE_TEST_NEON_2SAME_SCALAR_D(mnemonic, input)
3205 #define DEFINE_TEST_NEON_2SAME_SCALAR_SD(mnemonic, input) \ argument
3206 DEFINE_TEST_NEON_2SAME_SCALAR_S(mnemonic, input) \
3207 DEFINE_TEST_NEON_2SAME_SCALAR_D(mnemonic, input)
3210 #define CALL_TEST_NEON_HELPER_ACROSS(mnemonic, vd_form, vn_form, input_n) \ argument
3211 CALL_TEST_NEON_HELPER_1OpAcross(mnemonic, vd_form, vn_form, input_n)
3213 #define DEFINE_TEST_NEON_ACROSS(mnemonic, input) \ argument
3214 TEST(mnemonic##_B_8B) { \
3215 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, B, 8B, kInput8bits##input); \
3217 TEST(mnemonic##_B_16B) { \
3218 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, B, 16B, kInput8bits##input); \
3220 TEST(mnemonic##_H_4H) { \
3221 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, H, 4H, kInput16bits##input); \
3223 TEST(mnemonic##_H_8H) { \
3224 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, H, 8H, kInput16bits##input); \
3226 TEST(mnemonic##_S_4S) { \
3227 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, S, 4S, kInput32bits##input); \
3230 #define DEFINE_TEST_NEON_ACROSS_LONG(mnemonic, input) \ argument
3231 TEST(mnemonic##_H_8B) { \
3232 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, H, 8B, kInput8bits##input); \
3234 TEST(mnemonic##_H_16B) { \
3235 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, H, 16B, kInput8bits##input); \
3237 TEST(mnemonic##_S_4H) { \
3238 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, S, 4H, kInput16bits##input); \
3240 TEST(mnemonic##_S_8H) { \
3241 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, S, 8H, kInput16bits##input); \
3243 TEST(mnemonic##_D_4S) { \
3244 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, D, 4S, kInput32bits##input); \
3247 #define DEFINE_TEST_NEON_ACROSS_FP(mnemonic, input) \ argument
3248 TEST(mnemonic##_H_4H) { \
3249 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, H, 4H, kInputFloat16##input); \
3251 TEST(mnemonic##_H_8H) { \
3252 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, H, 8H, kInputFloat16##input); \
3254 TEST(mnemonic##_S_4S) { \
3255 CALL_TEST_NEON_HELPER_ACROSS(mnemonic, S, 4S, kInputFloat##input); \
3258 #define CALL_TEST_NEON_HELPER_2DIFF(mnemonic, vdform, vnform, input_n) \ argument
3259 CALL_TEST_NEON_HELPER_1Op(mnemonic, vdform, vnform, input_n)
3261 #define DEFINE_TEST_NEON_2DIFF_LONG(mnemonic, input) \ argument
3262 TEST(mnemonic##_4H) { \
3263 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 4H, 8B, kInput8bits##input); \
3265 TEST(mnemonic##_8H) { \
3266 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 8H, 16B, kInput8bits##input); \
3268 TEST(mnemonic##_2S) { \
3269 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2S, 4H, kInput16bits##input); \
3271 TEST(mnemonic##_4S) { \
3272 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 4S, 8H, kInput16bits##input); \
3274 TEST(mnemonic##_1D) { \
3275 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 1D, 2S, kInput32bits##input); \
3277 TEST(mnemonic##_2D) { \
3278 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2D, 4S, kInput32bits##input); \
3281 #define DEFINE_TEST_NEON_2DIFF_NARROW(mnemonic, input) \ argument
3282 TEST(mnemonic##_8B) { \
3283 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 8B, 8H, kInput16bits##input); \
3285 TEST(mnemonic##_4H) { \
3286 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 4H, 4S, kInput32bits##input); \
3288 TEST(mnemonic##_2S) { \
3289 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2S, 2D, kInput64bits##input); \
3291 TEST(mnemonic##2_16B) { \
3292 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 16B, 8H, kInput16bits##input); \
3294 TEST(mnemonic##2_8H) { \
3295 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 8H, 4S, kInput32bits##input); \
3297 TEST(mnemonic##2_4S) { \
3298 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 4S, 2D, kInput64bits##input); \
3301 #define DEFINE_TEST_NEON_2DIFF_FP_LONG(mnemonic, input) \ argument
3302 TEST(mnemonic##_4S) { \
3303 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 4S, 4H, kInputFloat16##input); \
3305 TEST(mnemonic##_2D) { \
3306 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2D, 2S, kInputFloat##input); \
3308 TEST(mnemonic##2_4S) { \
3309 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 4S, 8H, kInputFloat16##input); \
3311 TEST(mnemonic##2_2D) { \
3312 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 2D, 4S, kInputFloat##input); \
3315 #define DEFINE_TEST_NEON_2DIFF_FP_NARROW(mnemonic, input) \ argument
3316 TEST(mnemonic##_4H) { \
3317 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 4H, 4S, kInputFloat##input); \
3319 TEST(mnemonic##_2S) { \
3320 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2S, 2D, kInputDouble##input); \
3322 TEST(mnemonic##2_8H) { \
3323 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 8H, 4S, kInputFloat##input); \
3325 TEST(mnemonic##2_4S) { \
3326 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 4S, 2D, kInputDouble##input); \
3329 #define DEFINE_TEST_NEON_2DIFF_FP_NARROW_2S(mnemonic, input) \ argument
3330 TEST(mnemonic##_2S) { \
3331 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, 2S, 2D, kInputDouble##input); \
3333 TEST(mnemonic##2_4S) { \
3334 CALL_TEST_NEON_HELPER_2DIFF(mnemonic##2, 4S, 2D, kInputDouble##input); \
3337 #define DEFINE_TEST_NEON_2DIFF_SCALAR_NARROW(mnemonic, input) \ argument
3338 TEST(mnemonic##_B) { \
3339 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, B, H, kInput16bits##input); \
3341 TEST(mnemonic##_H) { \
3342 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, H, S, kInput32bits##input); \
3344 TEST(mnemonic##_S) { \
3345 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, S, D, kInput64bits##input); \
3348 #define DEFINE_TEST_NEON_2DIFF_FP_SCALAR_SD(mnemonic, input) \ argument
3349 TEST(mnemonic##_S) { \
3350 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, S, 2S, kInputFloat##input); \
3352 TEST(mnemonic##_D) { \
3353 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, D, 2D, kInputDouble##input); \
3355 TEST(mnemonic##_H) { \
3356 CALL_TEST_NEON_HELPER_2DIFF(mnemonic, H, 2H, kInputFloat16##input); \
3359 #define CALL_TEST_NEON_HELPER_3SAME(mnemonic, variant, input_d, input_nm) \ argument
3361 CALL_TEST_NEON_HELPER_2Op(mnemonic, \
3370 #define DEFINE_TEST_NEON_3SAME_8B_16B(mnemonic, input) \ argument
3371 TEST(mnemonic##_8B) { \
3372 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3377 TEST(mnemonic##_16B) { \
3378 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3384 #define DEFINE_TEST_NEON_3SAME_HS(mnemonic, input) \ argument
3385 TEST(mnemonic##_4H) { \
3386 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3391 TEST(mnemonic##_8H) { \
3392 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3397 TEST(mnemonic##_2S) { \
3398 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3403 TEST(mnemonic##_4S) { \
3404 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3410 #define DEFINE_TEST_NEON_3SAME_NO2D(mnemonic, input) \ argument
3411 DEFINE_TEST_NEON_3SAME_8B_16B(mnemonic, input) \
3412 DEFINE_TEST_NEON_3SAME_HS(mnemonic, input)
3414 #define DEFINE_TEST_NEON_3SAME(mnemonic, input) \ argument
3415 DEFINE_TEST_NEON_3SAME_NO2D(mnemonic, input) \
3416 TEST(mnemonic##_2D) { \
3417 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3423 #define DEFINE_TEST_NEON_3SAME_FP(mnemonic, input) \ argument
3424 TEST(mnemonic##_4H) { \
3425 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3430 TEST(mnemonic##_8H) { \
3431 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3436 TEST(mnemonic##_2S) { \
3437 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3442 TEST(mnemonic##_4S) { \
3443 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3448 TEST(mnemonic##_2D) { \
3449 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3455 #define DEFINE_TEST_NEON_3SAME_SCALAR_D(mnemonic, input) \ argument
3456 TEST(mnemonic##_D) { \
3457 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3463 #define DEFINE_TEST_NEON_3SAME_SCALAR_HS(mnemonic, input) \ argument
3464 TEST(mnemonic##_H) { \
3465 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3470 TEST(mnemonic##_S) { \
3471 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3477 #define DEFINE_TEST_NEON_3SAME_SCALAR(mnemonic, input) \ argument
3478 TEST(mnemonic##_B) { \
3479 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3484 TEST(mnemonic##_H) { \
3485 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3490 TEST(mnemonic##_S) { \
3491 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3496 TEST(mnemonic##_D) { \
3497 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3503 #define DEFINE_TEST_NEON_3SAME_FP_SCALAR(mnemonic, input) \ argument
3504 TEST(mnemonic##_H) { \
3505 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3510 TEST(mnemonic##_S) { \
3511 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3516 TEST(mnemonic##_D) { \
3517 CALL_TEST_NEON_HELPER_3SAME(mnemonic, \
3524 mnemonic, vdform, vnform, vmform, input_d, input_n, input_m) \ argument
3526 CALL_TEST_NEON_HELPER_2Op(mnemonic, \
3535 #define DEFINE_TEST_NEON_3DIFF_LONG_8H(mnemonic, input) \ argument
3536 TEST(mnemonic##_8H) { \
3537 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3545 TEST(mnemonic##2_8H) { \
3546 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3555 #define DEFINE_TEST_NEON_3DIFF_LONG_4S(mnemonic, input) \ argument
3556 TEST(mnemonic##_4S) { \
3557 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3565 TEST(mnemonic##2_4S) { \
3566 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3575 #define DEFINE_TEST_NEON_3DIFF_LONG_2D(mnemonic, input) \ argument
3576 TEST(mnemonic##_2D) { \
3577 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3585 TEST(mnemonic##2_2D) { \
3586 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3595 #define DEFINE_TEST_NEON_3DIFF_LONG_SD(mnemonic, input) \ argument
3596 DEFINE_TEST_NEON_3DIFF_LONG_4S(mnemonic, input) \
3597 DEFINE_TEST_NEON_3DIFF_LONG_2D(mnemonic, input)
3599 #define DEFINE_TEST_NEON_3DIFF_LONG(mnemonic, input) \ argument
3600 DEFINE_TEST_NEON_3DIFF_LONG_8H(mnemonic, input) \
3601 DEFINE_TEST_NEON_3DIFF_LONG_4S(mnemonic, input) \
3602 DEFINE_TEST_NEON_3DIFF_LONG_2D(mnemonic, input)
3604 #define DEFINE_TEST_NEON_3DIFF_SCALAR_LONG_S(mnemonic, input) \ argument
3605 TEST(mnemonic##_S) { \
3606 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3615 #define DEFINE_TEST_NEON_3DIFF_SCALAR_LONG_D(mnemonic, input) \ argument
3616 TEST(mnemonic##_D) { \
3617 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3626 #define DEFINE_TEST_NEON_3DIFF_SCALAR_LONG_SD(mnemonic, input) \ argument
3627 DEFINE_TEST_NEON_3DIFF_SCALAR_LONG_S(mnemonic, input) \
3628 DEFINE_TEST_NEON_3DIFF_SCALAR_LONG_D(mnemonic, input)
3630 #define DEFINE_TEST_NEON_3DIFF_WIDE(mnemonic, input) \ argument
3631 TEST(mnemonic##_8H) { \
3632 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3640 TEST(mnemonic##_4S) { \
3641 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3649 TEST(mnemonic##_2D) { \
3650 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3658 TEST(mnemonic##2_8H) { \
3659 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3667 TEST(mnemonic##2_4S) { \
3668 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3676 TEST(mnemonic##2_2D) { \
3677 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3686 #define DEFINE_TEST_NEON_3DIFF_NARROW(mnemonic, input) \ argument
3687 TEST(mnemonic##_8B) { \
3688 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3696 TEST(mnemonic##_4H) { \
3697 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3705 TEST(mnemonic##_2S) { \
3706 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3714 TEST(mnemonic##2_16B) { \
3715 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3723 TEST(mnemonic##2_8H) { \
3724 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3732 TEST(mnemonic##2_4S) { \
3733 CALL_TEST_NEON_HELPER_3DIFF(mnemonic##2, \
3742 #define DEFINE_TEST_NEON_3DIFF_DOUBLE_WIDE(mnemonic, input) \ argument
3743 TEST(mnemonic##_2S) { \
3744 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3752 TEST(mnemonic##_4S) { \
3753 CALL_TEST_NEON_HELPER_3DIFF(mnemonic, \
3764 mnemonic, vdform, vnform, input_n, input_imm) \ argument
3766 CALL_TEST_NEON_HELPER_2OpImm(mnemonic, \
3773 #define DEFINE_TEST_NEON_2OPIMM(mnemonic, input, input_imm) \ argument
3774 TEST(mnemonic##_8B_2OPIMM) { \
3775 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3781 TEST(mnemonic##_16B_2OPIMM) { \
3782 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3788 TEST(mnemonic##_4H_2OPIMM) { \
3789 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3795 TEST(mnemonic##_8H_2OPIMM) { \
3796 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3802 TEST(mnemonic##_2S_2OPIMM) { \
3803 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3809 TEST(mnemonic##_4S_2OPIMM) { \
3810 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3816 TEST(mnemonic##_2D_2OPIMM) { \
3817 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3824 #define DEFINE_TEST_NEON_2OPIMM_COPY(mnemonic, input, input_imm) \ argument
3825 TEST(mnemonic##_8B_2OPIMM) { \
3826 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3832 TEST(mnemonic##_16B_2OPIMM) { \
3833 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3839 TEST(mnemonic##_4H_2OPIMM) { \
3840 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3846 TEST(mnemonic##_8H_2OPIMM) { \
3847 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3853 TEST(mnemonic##_2S_2OPIMM) { \
3854 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3860 TEST(mnemonic##_4S_2OPIMM) { \
3861 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3867 TEST(mnemonic##_2D_2OPIMM) { \
3868 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3875 #define DEFINE_TEST_NEON_2OPIMM_NARROW(mnemonic, input, input_imm) \ argument
3876 TEST(mnemonic##_8B_2OPIMM) { \
3877 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3883 TEST(mnemonic##_4H_2OPIMM) { \
3884 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3890 TEST(mnemonic##_2S_2OPIMM) { \
3891 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3897 TEST(mnemonic##2_16B_2OPIMM) { \
3898 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
3904 TEST(mnemonic##2_8H_2OPIMM) { \
3905 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
3911 TEST(mnemonic##2_4S_2OPIMM) { \
3912 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
3919 #define DEFINE_TEST_NEON_2OPIMM_SCALAR_NARROW(mnemonic, input, input_imm) \ argument
3920 TEST(mnemonic##_B_2OPIMM) { \
3921 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3927 TEST(mnemonic##_H_2OPIMM) { \
3928 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3934 TEST(mnemonic##_S_2OPIMM) { \
3935 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3942 #define DEFINE_TEST_NEON_2OPIMM_FCMP_ZERO(mnemonic, input, input_imm) \ argument
3943 TEST(mnemonic##_4H_2OPIMM) { \
3944 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3950 TEST(mnemonic##_8H_2OPIMM) { \
3951 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3957 TEST(mnemonic##_2S_2OPIMM) { \
3958 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3964 TEST(mnemonic##_4S_2OPIMM) { \
3965 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3971 TEST(mnemonic##_2D_2OPIMM) { \
3972 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3979 #define DEFINE_TEST_NEON_2OPIMM_FP(mnemonic, input, input_imm) \ argument
3980 TEST(mnemonic##_4H_2OPIMM) { \
3981 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3987 TEST(mnemonic##_8H_2OPIMM) { \
3988 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
3994 TEST(mnemonic##_2S_2OPIMM) { \
3995 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4001 TEST(mnemonic##_4S_2OPIMM) { \
4002 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4008 TEST(mnemonic##_2D_2OPIMM) { \
4009 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4016 #define DEFINE_TEST_NEON_2OPIMM_FP_SCALAR(mnemonic, input, input_imm) \ argument
4017 TEST(mnemonic##_H_2OPIMM) { \
4018 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4024 TEST(mnemonic##_S_2OPIMM) { \
4025 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4031 TEST(mnemonic##_D_2OPIMM) { \
4032 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4039 #define DEFINE_TEST_NEON_2OPIMM_HSD(mnemonic, input, input_imm) \ argument
4040 TEST(mnemonic##_4H_2OPIMM) { \
4041 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4047 TEST(mnemonic##_8H_2OPIMM) { \
4048 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4054 TEST(mnemonic##_2S_2OPIMM) { \
4055 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4061 TEST(mnemonic##_4S_2OPIMM) { \
4062 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4068 TEST(mnemonic##_2D_2OPIMM) { \
4069 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4076 #define DEFINE_TEST_NEON_2OPIMM_SCALAR_D(mnemonic, input, input_imm) \ argument
4077 TEST(mnemonic##_D_2OPIMM) { \
4078 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4085 #define DEFINE_TEST_NEON_2OPIMM_SCALAR_HSD(mnemonic, input, input_imm) \ argument
4086 TEST(mnemonic##_H_2OPIMM) { \
4087 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4093 TEST(mnemonic##_S_2OPIMM) { \
4094 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4100 DEFINE_TEST_NEON_2OPIMM_SCALAR_D(mnemonic, input, input_imm)
4102 #define DEFINE_TEST_NEON_2OPIMM_FP_SCALAR_D(mnemonic, input, input_imm) \ argument
4103 TEST(mnemonic##_D_2OPIMM) { \
4104 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4111 #define DEFINE_TEST_NEON_2OPIMM_FP_SCALAR_HSD(mnemonic, input, input_imm) \ argument
4112 TEST(mnemonic##_H_2OPIMM) { \
4113 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4119 TEST(mnemonic##_S_2OPIMM) { \
4120 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4126 DEFINE_TEST_NEON_2OPIMM_FP_SCALAR_D(mnemonic, input, input_imm)
4128 #define DEFINE_TEST_NEON_2OPIMM_SCALAR(mnemonic, input, input_imm) \ argument
4129 TEST(mnemonic##_B_2OPIMM) { \
4130 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4136 DEFINE_TEST_NEON_2OPIMM_SCALAR_HSD(mnemonic, input, input_imm)
4138 #define DEFINE_TEST_NEON_2OPIMM_LONG(mnemonic, input, input_imm) \ argument
4139 TEST(mnemonic##_8H_2OPIMM) { \
4140 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4146 TEST(mnemonic##_4S_2OPIMM) { \
4147 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4153 TEST(mnemonic##_2D_2OPIMM) { \
4154 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic, \
4160 TEST(mnemonic##2_8H_2OPIMM) { \
4161 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
4167 TEST(mnemonic##2_4S_2OPIMM) { \
4168 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
4174 TEST(mnemonic##2_2D_2OPIMM) { \
4175 CALL_TEST_NEON_HELPER_2OPIMM(mnemonic##2, \
4182 #define CALL_TEST_NEON_HELPER_BYELEMENT_DOT_PRODUCT(mnemonic, \ argument
4192 CALL_TEST_NEON_HELPER_ByElement_Dot_Product(mnemonic, \
4204 mnemonic, input_d, input_n, input_m) \ argument
4205 TEST(mnemonic##_2S_8B_B) { \
4206 CALL_TEST_NEON_HELPER_BYELEMENT_DOT_PRODUCT(mnemonic, \
4216 TEST(mnemonic##_4S_16B_B) { \
4217 CALL_TEST_NEON_HELPER_BYELEMENT_DOT_PRODUCT(mnemonic, \
4229 mnemonic, vdform, vnform, vmform, input_d, input_n, input_m, indices) \ argument
4231 CALL_TEST_NEON_HELPER_ByElement(mnemonic, \
4241 #define DEFINE_TEST_NEON_BYELEMENT(mnemonic, input_d, input_n, input_m) \ argument
4242 TEST(mnemonic##_4H_4H_H) { \
4243 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4252 TEST(mnemonic##_8H_8H_H) { \
4253 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4262 TEST(mnemonic##_2S_2S_S) { \
4263 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4272 TEST(mnemonic##_4S_4S_S) { \
4273 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4283 #define DEFINE_TEST_NEON_BYELEMENT_SCALAR(mnemonic, input_d, input_n, input_m) \ argument
4284 TEST(mnemonic##_H_H_H) { \
4285 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4294 TEST(mnemonic##_S_S_S) { \
4295 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4305 #define DEFINE_TEST_NEON_FP_BYELEMENT(mnemonic, input_d, input_n, input_m) \ argument
4306 TEST(mnemonic##_4H_4H_H) { \
4307 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4316 TEST(mnemonic##_8H_8H_H) { \
4317 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4326 TEST(mnemonic##_2S_2S_S) { \
4327 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4336 TEST(mnemonic##_4S_4S_S) { \
4337 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4346 TEST(mnemonic##_2D_2D_D) { \
4347 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4357 #define DEFINE_TEST_NEON_FP_BYELEMENT_SCALAR(mnemonic, inp_d, inp_n, inp_m) \ argument
4358 TEST(mnemonic##_H_H_H) { \
4359 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4368 TEST(mnemonic##_S_S_S) { \
4369 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4378 TEST(mnemonic##_D_D_D) { \
4379 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4390 #define DEFINE_TEST_NEON_BYELEMENT_DIFF(mnemonic, input_d, input_n, input_m) \ argument
4391 TEST(mnemonic##_4S_4H_H) { \
4392 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4401 TEST(mnemonic##2_4S_8H_H) { \
4402 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic##2, \
4411 TEST(mnemonic##_2D_2S_S) { \
4412 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4421 TEST(mnemonic##2_2D_4S_S) { \
4422 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic##2, \
4433 mnemonic, input_d, input_n, input_m) \ argument
4434 TEST(mnemonic##_S_H_H) { \
4435 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4444 TEST(mnemonic##_D_S_S) { \
4445 CALL_TEST_NEON_HELPER_BYELEMENT(mnemonic, \
4457 mnemonic, variant, input_d, input_imm1, input_n, input_imm2) \ argument
4459 CALL_TEST_NEON_HELPER_OpImmOpImm(&MacroAssembler::mnemonic, \
4460 mnemonic, \
4470 mnemonic, input_d, input_imm1, input_n, input_imm2) \ argument
4471 TEST(mnemonic##_B) { \
4472 CALL_TEST_NEON_HELPER_2OP2IMM(mnemonic, \
4479 TEST(mnemonic##_H) { \
4480 CALL_TEST_NEON_HELPER_2OP2IMM(mnemonic, \
4487 TEST(mnemonic##_S) { \
4488 CALL_TEST_NEON_HELPER_2OP2IMM(mnemonic, \
4495 TEST(mnemonic##_D) { \
4496 CALL_TEST_NEON_HELPER_2OP2IMM(mnemonic, \