Lines Matching defs:config

370 static void MlaMlsHelper(Test* config, unsigned lane_size_in_bits) {
476 TEST_SVE(sve_mla_mls_b) { MlaMlsHelper(config, kBRegSize); }
477 TEST_SVE(sve_mla_mls_h) { MlaMlsHelper(config, kHRegSize); }
478 TEST_SVE(sve_mla_mls_s) { MlaMlsHelper(config, kSRegSize); }
479 TEST_SVE(sve_mla_mls_d) { MlaMlsHelper(config, kDRegSize); }
2765 static void PfirstPnextHelper(Test* config,
2836 static void PfirstHelper(Test* config,
2840 PfirstPnextHelper(config,
2849 static void PnextHelper(Test* config,
2854 PfirstPnextHelper(config,
2881 PfirstHelper(config, in1, in0, exp10);
2882 PfirstHelper(config, in1, in2, exp12);
2883 PfirstHelper(config, in1, in3, exp13);
2884 PfirstHelper(config, in1, in4, exp14);
2892 PfirstHelper(config, in2, in0, exp20);
2893 PfirstHelper(config, in2, in1, exp21);
2894 PfirstHelper(config, in2, in3, exp23);
2895 PfirstHelper(config, in2, in4, exp24);
2903 PfirstHelper(config, in3, in0, exp30);
2904 PfirstHelper(config, in3, in1, exp31);
2905 PfirstHelper(config, in3, in2, exp32);
2906 PfirstHelper(config, in3, in4, exp34);
2914 PfirstHelper(config, in4, in0, exp40);
2915 PfirstHelper(config, in4, in1, exp41);
2916 PfirstHelper(config, in4, in2, exp42);
2917 PfirstHelper(config, in4, in3, exp43);
2920 PfirstHelper(config, in0, in0, in0);
2921 PfirstHelper(config, in0, in1, in1);
2922 PfirstHelper(config, in0, in2, in2);
2923 PfirstHelper(config, in0, in3, in3);
2926 PfirstHelper(config, in0, in0, in0);
2927 PfirstHelper(config, in1, in1, in1);
2928 PfirstHelper(config, in2, in2, in2);
2929 PfirstHelper(config, in3, in3, in3);
3040 PnextHelper(config, kBRegSize, in0, in0, exp00);
3041 PnextHelper(config, kBRegSize, in1, in0, exp10);
3042 PnextHelper(config, kBRegSize, in2, in0, exp20);
3043 PnextHelper(config, kBRegSize, in3, in0, exp30);
3044 PnextHelper(config, kBRegSize, in4, in0, exp40);
3046 PnextHelper(config, kBRegSize, in0, in1, exp01);
3047 PnextHelper(config, kBRegSize, in1, in1, exp11);
3048 PnextHelper(config, kBRegSize, in2, in1, exp21);
3049 PnextHelper(config, kBRegSize, in3, in1, exp31);
3050 PnextHelper(config, kBRegSize, in4, in1, exp41);
3052 PnextHelper(config, kBRegSize, in0, in2, exp02);
3053 PnextHelper(config, kBRegSize, in1, in2, exp12);
3054 PnextHelper(config, kBRegSize, in2, in2, exp22);
3055 PnextHelper(config, kBRegSize, in3, in2, exp32);
3056 PnextHelper(config, kBRegSize, in4, in2, exp42);
3058 PnextHelper(config, kBRegSize, in0, in3, exp03);
3059 PnextHelper(config, kBRegSize, in1, in3, exp13);
3060 PnextHelper(config, kBRegSize, in2, in3, exp23);
3061 PnextHelper(config, kBRegSize, in3, in3, exp33);
3062 PnextHelper(config, kBRegSize, in4, in3, exp43);
3064 PnextHelper(config, kBRegSize, in0, in4, exp04);
3065 PnextHelper(config, kBRegSize, in1, in4, exp14);
3066 PnextHelper(config, kBRegSize, in2, in4, exp24);
3067 PnextHelper(config, kBRegSize, in3, in4, exp34);
3068 PnextHelper(config, kBRegSize, in4, in4, exp44);
3129 PnextHelper(config, kHRegSize, in0, in0, exp00);
3130 PnextHelper(config, kHRegSize, in1, in0, exp10);
3131 PnextHelper(config, kHRegSize, in2, in0, exp20);
3132 PnextHelper(config, kHRegSize, in3, in0, exp30);
3133 PnextHelper(config, kHRegSize, in4, in0, exp40);
3135 PnextHelper(config, kHRegSize, in0, in1, exp01);
3136 PnextHelper(config, kHRegSize, in1, in1, exp11);
3137 PnextHelper(config, kHRegSize, in2, in1, exp21);
3138 PnextHelper(config, kHRegSize, in3, in1, exp31);
3139 PnextHelper(config, kHRegSize, in4, in1, exp41);
3141 PnextHelper(config, kHRegSize, in0, in2, exp02);
3142 PnextHelper(config, kHRegSize, in1, in2, exp12);
3143 PnextHelper(config, kHRegSize, in2, in2, exp22);
3144 PnextHelper(config, kHRegSize, in3, in2, exp32);
3145 PnextHelper(config, kHRegSize, in4, in2, exp42);
3147 PnextHelper(config, kHRegSize, in0, in3, exp03);
3148 PnextHelper(config, kHRegSize, in1, in3, exp13);
3149 PnextHelper(config, kHRegSize, in2, in3, exp23);
3150 PnextHelper(config, kHRegSize, in3, in3, exp33);
3151 PnextHelper(config, kHRegSize, in4, in3, exp43);
3153 PnextHelper(config, kHRegSize, in0, in4, exp04);
3154 PnextHelper(config, kHRegSize, in1, in4, exp14);
3155 PnextHelper(config, kHRegSize, in2, in4, exp24);
3156 PnextHelper(config, kHRegSize, in3, in4, exp34);
3157 PnextHelper(config, kHRegSize, in4, in4, exp44);
3205 PnextHelper(config, kSRegSize, in0, in0, exp00);
3206 PnextHelper(config, kSRegSize, in1, in0, exp10);
3207 PnextHelper(config, kSRegSize, in2, in0, exp20);
3208 PnextHelper(config, kSRegSize, in3, in0, exp30);
3210 PnextHelper(config, kSRegSize, in0, in1, exp01);
3211 PnextHelper(config, kSRegSize, in1, in1, exp11);
3212 PnextHelper(config, kSRegSize, in2, in1, exp21);
3213 PnextHelper(config, kSRegSize, in3, in1, exp31);
3215 PnextHelper(config, kSRegSize, in0, in2, exp02);
3216 PnextHelper(config, kSRegSize, in1, in2, exp12);
3217 PnextHelper(config, kSRegSize, in2, in2, exp22);
3218 PnextHelper(config, kSRegSize, in3, in2, exp32);
3220 PnextHelper(config, kSRegSize, in0, in3, exp03);
3221 PnextHelper(config, kSRegSize, in1, in3, exp13);
3222 PnextHelper(config, kSRegSize, in2, in3, exp23);
3223 PnextHelper(config, kSRegSize, in3, in3, exp33);
3260 PnextHelper(config, kDRegSize, in0, in0, exp00);
3261 PnextHelper(config, kDRegSize, in1, in0, exp10);
3262 PnextHelper(config, kDRegSize, in2, in0, exp20);
3264 PnextHelper(config, kDRegSize, in0, in1, exp01);
3265 PnextHelper(config, kDRegSize, in1, in1, exp11);
3266 PnextHelper(config, kDRegSize, in2, in1, exp21);
3268 PnextHelper(config, kDRegSize, in0, in2, exp02);
3269 PnextHelper(config, kDRegSize, in1, in2, exp12);
3270 PnextHelper(config, kDRegSize, in2, in2, exp22);
3326 static void PtrueHelper(Test* config,
3485 TEST_SVE(sve_ptrue_b) { PtrueHelper(config, kBRegSize, LeaveFlags); }
3486 TEST_SVE(sve_ptrue_h) { PtrueHelper(config, kHRegSize, LeaveFlags); }
3487 TEST_SVE(sve_ptrue_s) { PtrueHelper(config, kSRegSize, LeaveFlags); }
3488 TEST_SVE(sve_ptrue_d) { PtrueHelper(config, kDRegSize, LeaveFlags); }
3490 TEST_SVE(sve_ptrues_b) { PtrueHelper(config, kBRegSize, SetFlags); }
3491 TEST_SVE(sve_ptrues_h) { PtrueHelper(config, kHRegSize, SetFlags); }
3492 TEST_SVE(sve_ptrues_s) { PtrueHelper(config, kSRegSize, SetFlags); }
3493 TEST_SVE(sve_ptrues_d) { PtrueHelper(config, kDRegSize, SetFlags); }
3753 static void CntHelper(Test* config,
3797 static void IncHelper(Test* config,
3802 CntHelper(config, cnt, multiplier, lane_size_in_bits, acc_value, true);
3805 static void DecHelper(Test* config,
3810 CntHelper(config, cnt, multiplier, lane_size_in_bits, acc_value, false);
3814 CntHelper(config, &MacroAssembler::Cntb, 1, kBRegSize);
3815 CntHelper(config, &MacroAssembler::Cntb, 2, kBRegSize);
3816 CntHelper(config, &MacroAssembler::Cntb, 15, kBRegSize);
3817 CntHelper(config, &MacroAssembler::Cntb, 16, kBRegSize);
3821 CntHelper(config, &MacroAssembler::Cnth, 1, kHRegSize);
3822 CntHelper(config, &MacroAssembler::Cnth, 2, kHRegSize);
3823 CntHelper(config, &MacroAssembler::Cnth, 15, kHRegSize);
3824 CntHelper(config, &MacroAssembler::Cnth, 16, kHRegSize);
3828 CntHelper(config, &MacroAssembler::Cntw, 1, kWRegSize);
3829 CntHelper(config, &MacroAssembler::Cntw, 2, kWRegSize);
3830 CntHelper(config, &MacroAssembler::Cntw, 15, kWRegSize);
3831 CntHelper(config, &MacroAssembler::Cntw, 16, kWRegSize);
3835 CntHelper(config, &MacroAssembler::Cntd, 1, kDRegSize);
3836 CntHelper(config, &MacroAssembler::Cntd, 2, kDRegSize);
3837 CntHelper(config, &MacroAssembler::Cntd, 15, kDRegSize);
3838 CntHelper(config, &MacroAssembler::Cntd, 16, kDRegSize);
3842 DecHelper(config, &MacroAssembler::Decb, 1, kBRegSize, 42);
3843 DecHelper(config, &MacroAssembler::Decb, 2, kBRegSize, -1);
3844 DecHelper(config, &MacroAssembler::Decb, 15, kBRegSize, INT64_MIN);
3845 DecHelper(config, &MacroAssembler::Decb, 16, kBRegSize, -42);
3849 DecHelper(config, &MacroAssembler::Dech, 1, kHRegSize, 42);
3850 DecHelper(config, &MacroAssembler::Dech, 2, kHRegSize, -1);
3851 DecHelper(config, &MacroAssembler::Dech, 15, kHRegSize, INT64_MIN);
3852 DecHelper(config, &MacroAssembler::Dech, 16, kHRegSize, -42);
3856 DecHelper(config, &MacroAssembler::Decw, 1, kWRegSize, 42);
3857 DecHelper(config, &MacroAssembler::Decw, 2, kWRegSize, -1);
3858 DecHelper(config, &MacroAssembler::Decw, 15, kWRegSize, INT64_MIN);
3859 DecHelper(config, &MacroAssembler::Decw, 16, kWRegSize, -42);
3863 DecHelper(config, &MacroAssembler::Decd, 1, kDRegSize, 42);
3864 DecHelper(config, &MacroAssembler::Decd, 2, kDRegSize, -1);
3865 DecHelper(config, &MacroAssembler::Decd, 15, kDRegSize, INT64_MIN);
3866 DecHelper(config, &MacroAssembler::Decd, 16, kDRegSize, -42);
3870 IncHelper(config, &MacroAssembler::Incb, 1, kBRegSize, 42);
3871 IncHelper(config, &MacroAssembler::Incb, 2, kBRegSize, -1);
3872 IncHelper(config, &MacroAssembler::Incb, 15, kBRegSize, INT64_MAX);
3873 IncHelper(config, &MacroAssembler::Incb, 16, kBRegSize, -42);
3877 IncHelper(config, &MacroAssembler::Inch, 1, kHRegSize, 42);
3878 IncHelper(config, &MacroAssembler::Inch, 2, kHRegSize, -1);
3879 IncHelper(config, &MacroAssembler::Inch, 15, kHRegSize, INT64_MAX);
3880 IncHelper(config, &MacroAssembler::Inch, 16, kHRegSize, -42);
3884 IncHelper(config, &MacroAssembler::Incw, 1, kWRegSize, 42);
3885 IncHelper(config, &MacroAssembler::Incw, 2, kWRegSize, -1);
3886 IncHelper(config, &MacroAssembler::Incw, 15, kWRegSize, INT64_MAX);
3887 IncHelper(config, &MacroAssembler::Incw, 16, kWRegSize, -42);
3891 IncHelper(config, &MacroAssembler::Incd, 1, kDRegSize, 42);
3892 IncHelper(config, &MacroAssembler::Incd, 2, kDRegSize, -1);
3893 IncHelper(config, &MacroAssembler::Incd, 15, kDRegSize, INT64_MAX);
3894 IncHelper(config, &MacroAssembler::Incd, 16, kDRegSize, -42);
3916 static void QIncDecHelper(Test* config,
3961 static void QIncHelper(Test* config,
3966 QIncDecHelper<T>(config, cnt, multiplier, lane_size_in_bits, acc_value, true);
3970 static void QDecHelper(Test* config,
3975 QIncDecHelper<T>(config,
3986 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecb, 1, kBRegSize, 1);
3987 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecb, 2, kBRegSize, bigneg);
3988 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecb, 15, kBRegSize, 999);
3989 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecb, 16, kBRegSize, bigpos);
3995 QDecHelper<int64_t>(config, &MacroAssembler::Sqdech, 1, kHRegSize, 1);
3996 QDecHelper<int64_t>(config, &MacroAssembler::Sqdech, 2, kHRegSize, bigneg);
3997 QDecHelper<int64_t>(config, &MacroAssembler::Sqdech, 15, kHRegSize, 999);
3998 QDecHelper<int64_t>(config, &MacroAssembler::Sqdech, 16, kHRegSize, bigpos);
4004 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecw, 1, kWRegSize, 1);
4005 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecw, 2, kWRegSize, bigneg);
4006 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecw, 15, kWRegSize, 999);
4007 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecw, 16, kWRegSize, bigpos);
4013 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecd, 1, kDRegSize, 1);
4014 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecd, 2, kDRegSize, bigneg);
4015 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecd, 15, kDRegSize, 999);
4016 QDecHelper<int64_t>(config, &MacroAssembler::Sqdecd, 16, kDRegSize, bigpos);
4022 QIncHelper<int64_t>(config, &MacroAssembler::Sqincb, 1, kBRegSize, 1);
4023 QIncHelper<int64_t>(config, &MacroAssembler::Sqincb, 2, kBRegSize, bigneg);
4024 QIncHelper<int64_t>(config, &MacroAssembler::Sqincb, 15, kBRegSize, 999);
4025 QIncHelper<int64_t>(config, &MacroAssembler::Sqincb, 16, kBRegSize, bigpos);
4031 QIncHelper<int64_t>(config, &MacroAssembler::Sqinch, 1, kHRegSize, 1);
4032 QIncHelper<int64_t>(config, &MacroAssembler::Sqinch, 2, kHRegSize, bigneg);
4033 QIncHelper<int64_t>(config, &MacroAssembler::Sqinch, 15, kHRegSize, 999);
4034 QIncHelper<int64_t>(config, &MacroAssembler::Sqinch, 16, kHRegSize, bigpos);
4040 QIncHelper<int64_t>(config, &MacroAssembler::Sqincw, 1, kWRegSize, 1);
4041 QIncHelper<int64_t>(config, &MacroAssembler::Sqincw, 2, kWRegSize, bigneg);
4042 QIncHelper<int64_t>(config, &MacroAssembler::Sqincw, 15, kWRegSize, 999);
4043 QIncHelper<int64_t>(config, &MacroAssembler::Sqincw, 16, kWRegSize, bigpos);
4049 QIncHelper<int64_t>(config, &MacroAssembler::Sqincd, 1, kDRegSize, 1);
4050 QIncHelper<int64_t>(config, &MacroAssembler::Sqincd, 2, kDRegSize, bigneg);
4051 QIncHelper<int64_t>(config, &MacroAssembler::Sqincd, 15, kDRegSize, 999);
4052 QIncHelper<int64_t>(config, &MacroAssembler::Sqincd, 16, kDRegSize, bigpos);
4058 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecb, 1, kBRegSize, 1);
4059 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecb, 2, kBRegSize, 42);
4060 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecb, 15, kBRegSize, 999);
4061 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecb, 16, kBRegSize, big32);
4062 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecb, 1, kBRegSize, 1);
4063 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecb, 2, kBRegSize, 42);
4064 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecb, 15, kBRegSize, 999);
4065 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecb, 16, kBRegSize, big64);
4071 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdech, 1, kHRegSize, 1);
4072 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdech, 2, kHRegSize, 42);
4073 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdech, 15, kHRegSize, 999);
4074 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdech, 16, kHRegSize, big32);
4075 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdech, 1, kHRegSize, 1);
4076 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdech, 2, kHRegSize, 42);
4077 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdech, 15, kHRegSize, 999);
4078 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdech, 16, kHRegSize, big64);
4084 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecw, 1, kWRegSize, 1);
4085 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecw, 2, kWRegSize, 42);
4086 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecw, 15, kWRegSize, 999);
4087 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecw, 16, kWRegSize, big32);
4088 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecw, 1, kWRegSize, 1);
4089 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecw, 2, kWRegSize, 42);
4090 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecw, 15, kWRegSize, 999);
4091 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecw, 16, kWRegSize, big64);
4097 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecd, 1, kDRegSize, 1);
4098 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecd, 2, kDRegSize, 42);
4099 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecd, 15, kDRegSize, 999);
4100 QDecHelper<uint32_t>(config, &MacroAssembler::Uqdecd, 16, kDRegSize, big32);
4101 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecd, 1, kDRegSize, 1);
4102 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecd, 2, kDRegSize, 42);
4103 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecd, 15, kDRegSize, 999);
4104 QDecHelper<uint64_t>(config, &MacroAssembler::Uqdecd, 16, kDRegSize, big64);
4110 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincb, 1, kBRegSize, 1);
4111 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincb, 2, kBRegSize, 42);
4112 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincb, 15, kBRegSize, 999);
4113 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincb, 16, kBRegSize, big32);
4114 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincb, 1, kBRegSize, 1);
4115 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincb, 2, kBRegSize, 42);
4116 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincb, 15, kBRegSize, 999);
4117 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincb, 16, kBRegSize, big64);
4123 QIncHelper<uint32_t>(config, &MacroAssembler::Uqinch, 1, kHRegSize, 1);
4124 QIncHelper<uint32_t>(config, &MacroAssembler::Uqinch, 2, kHRegSize, 42);
4125 QIncHelper<uint32_t>(config, &MacroAssembler::Uqinch, 15, kHRegSize, 999);
4126 QIncHelper<uint32_t>(config, &MacroAssembler::Uqinch, 16, kHRegSize, big32);
4127 QIncHelper<uint64_t>(config, &MacroAssembler::Uqinch, 1, kHRegSize, 1);
4128 QIncHelper<uint64_t>(config, &MacroAssembler::Uqinch, 2, kHRegSize, 42);
4129 QIncHelper<uint64_t>(config, &MacroAssembler::Uqinch, 15, kHRegSize, 999);
4130 QIncHelper<uint64_t>(config, &MacroAssembler::Uqinch, 16, kHRegSize, big64);
4136 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincw, 1, kWRegSize, 1);
4137 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincw, 2, kWRegSize, 42);
4138 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincw, 15, kWRegSize, 999);
4139 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincw, 16, kWRegSize, big32);
4140 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincw, 1, kWRegSize, 1);
4141 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincw, 2, kWRegSize, 42);
4142 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincw, 15, kWRegSize, 999);
4143 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincw, 16, kWRegSize, big64);
4149 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincd, 1, kDRegSize, 1);
4150 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincd, 2, kDRegSize, 42);
4151 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincd, 15, kDRegSize, 999);
4152 QIncHelper<uint32_t>(config, &MacroAssembler::Uqincd, 16, kDRegSize, big32);
4153 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincd, 1, kDRegSize, 1);
4154 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincd, 2, kDRegSize, 42);
4155 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincd, 15, kDRegSize, 999);
4156 QIncHelper<uint64_t>(config, &MacroAssembler::Uqincd, 16, kDRegSize, big64);
4164 static void QIncDecXWHelper(Test* config,
4251 static void QIncXWHelper(Test* config,
4256 QIncDecXWHelper(config, cnt, multiplier, lane_size_in_bits, acc_value, true);
4259 static void QDecXWHelper(Test* config,
4264 QIncDecXWHelper(config, cnt, multiplier, lane_size_in_bits, acc_value, false);
4268 QDecXWHelper(config, &MacroAssembler::Sqdecb, 1, kBRegSize, 1);
4269 QDecXWHelper(config, &MacroAssembler::Sqdecb, 2, kBRegSize, INT32_MIN + 42);
4270 QDecXWHelper(config, &MacroAssembler::Sqdecb, 15, kBRegSize, 999);
4271 QDecXWHelper(config, &MacroAssembler::Sqdecb, 16, kBRegSize, INT32_MAX - 42);
4275 QDecXWHelper(config, &MacroAssembler::Sqdech, 1, kHRegSize, 1);
4276 QDecXWHelper(config, &MacroAssembler::Sqdech, 2, kHRegSize, INT32_MIN + 42);
4277 QDecXWHelper(config, &MacroAssembler::Sqdech, 15, kHRegSize, 999);
4278 QDecXWHelper(config, &MacroAssembler::Sqdech, 16, kHRegSize, INT32_MAX - 42);
4282 QDecXWHelper(config, &MacroAssembler::Sqdecw, 1, kWRegSize, 1);
4283 QDecXWHelper(config, &MacroAssembler::Sqdecw, 2, kWRegSize, INT32_MIN + 42);
4284 QDecXWHelper(config, &MacroAssembler::Sqdecw, 15, kWRegSize, 999);
4285 QDecXWHelper(config, &MacroAssembler::Sqdecw, 16, kWRegSize, INT32_MAX - 42);
4289 QDecXWHelper(config, &MacroAssembler::Sqdecd, 1, kDRegSize, 1);
4290 QDecXWHelper(config, &MacroAssembler::Sqdecd, 2, kDRegSize, INT32_MIN + 42);
4291 QDecXWHelper(config, &MacroAssembler::Sqdecd, 15, kDRegSize, 999);
4292 QDecXWHelper(config, &MacroAssembler::Sqdecd, 16, kDRegSize, INT32_MAX - 42);
4296 QIncXWHelper(config, &MacroAssembler::Sqincb, 1, kBRegSize, 1);
4297 QIncXWHelper(config, &MacroAssembler::Sqincb, 2, kBRegSize, INT32_MIN + 42);
4298 QIncXWHelper(config, &MacroAssembler::Sqincb, 15, kBRegSize, 999);
4299 QIncXWHelper(config, &MacroAssembler::Sqincb, 16, kBRegSize, INT32_MAX - 42);
4303 QIncXWHelper(config, &MacroAssembler::Sqinch, 1, kHRegSize, 1);
4304 QIncXWHelper(config, &MacroAssembler::Sqinch, 2, kHRegSize, INT32_MIN + 42);
4305 QIncXWHelper(config, &MacroAssembler::Sqinch, 15, kHRegSize, 999);
4306 QIncXWHelper(config, &MacroAssembler::Sqinch, 16, kHRegSize, INT32_MAX - 42);
4310 QIncXWHelper(config, &MacroAssembler::Sqincw, 1, kWRegSize, 1);
4311 QIncXWHelper(config, &MacroAssembler::Sqincw, 2, kWRegSize, INT32_MIN + 42);
4312 QIncXWHelper(config, &MacroAssembler::Sqincw, 15, kWRegSize, 999);
4313 QIncXWHelper(config, &MacroAssembler::Sqincw, 16, kWRegSize, INT32_MAX - 42);
4317 QIncXWHelper(config, &MacroAssembler::Sqincd, 1, kDRegSize, 1);
4318 QIncXWHelper(config, &MacroAssembler::Sqincd, 2, kDRegSize, INT32_MIN + 42);
4319 QIncXWHelper(config, &MacroAssembler::Sqincd, 15, kDRegSize, 999);
4320 QIncXWHelper(config, &MacroAssembler::Sqincd, 16, kDRegSize, INT32_MAX - 42);
4330 static void IncDecZHelper(Test* config,
4428 IncDecZHelper(config, &MacroAssembler::Dech, cnth, sub, mult, kHRegSize);
4429 IncDecZHelper(config, &MacroAssembler::Decw, cntw, sub, mult, kSRegSize);
4430 IncDecZHelper(config, &MacroAssembler::Decd, cntd, sub, mult, kDRegSize);
4431 IncDecZHelper(config, &MacroAssembler::Inch, cnth, add, mult, kHRegSize);
4432 IncDecZHelper(config, &MacroAssembler::Incw, cntw, add, mult, kSRegSize);
4433 IncDecZHelper(config, &MacroAssembler::Incd, cntd, add, mult, kDRegSize);
4444 IncDecZHelper(config, &MacroAssembler::Uqdech, cnth, sub, mult, kHRegSize);
4445 IncDecZHelper(config, &MacroAssembler::Uqdecw, cntw, sub, mult, kSRegSize);
4446 IncDecZHelper(config, &MacroAssembler::Uqdecd, cntd, sub, mult, kDRegSize);
4447 IncDecZHelper(config, &MacroAssembler::Uqinch, cnth, add, mult, kHRegSize);
4448 IncDecZHelper(config, &MacroAssembler::Uqincw, cntw, add, mult, kSRegSize);
4449 IncDecZHelper(config, &MacroAssembler::Uqincd, cntd, add, mult, kDRegSize);
4460 IncDecZHelper(config, &MacroAssembler::Sqdech, cnth, sub, mult, kHRegSize);
4461 IncDecZHelper(config, &MacroAssembler::Sqdecw, cntw, sub, mult, kSRegSize);
4462 IncDecZHelper(config, &MacroAssembler::Sqdecd, cntd, sub, mult, kDRegSize);
4463 IncDecZHelper(config, &MacroAssembler::Sqinch, cnth, add, mult, kHRegSize);
4464 IncDecZHelper(config, &MacroAssembler::Sqincw, cntw, add, mult, kSRegSize);
4465 IncDecZHelper(config, &MacroAssembler::Sqincd, cntd, add, mult, kDRegSize);
4475 static void IntBinArithHelper(Test* config,
4581 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, add_exp_b);
4582 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, add_exp_h);
4583 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, add_exp_s);
4584 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, add_exp_d);
4600 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, sub_exp_b);
4601 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, sub_exp_h);
4602 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, sub_exp_s);
4603 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, sub_exp_d);
4648 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, umax_exp_b);
4649 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, umax_exp_h);
4650 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, umax_exp_s);
4651 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, umax_exp_d);
4664 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, umin_exp_b);
4665 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, umin_exp_h);
4666 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, umin_exp_s);
4667 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, umin_exp_d);
4681 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, uabd_exp_b);
4682 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, uabd_exp_h);
4683 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, uabd_exp_s);
4684 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, uabd_exp_d);
4729 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, smax_exp_b);
4730 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, smax_exp_h);
4731 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, smax_exp_s);
4732 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, smax_exp_d);
4746 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, smin_exp_b);
4747 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, smin_exp_h);
4748 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, smin_exp_s);
4749 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, smin_exp_d);
4762 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, sabd_exp_b);
4763 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, sabd_exp_h);
4764 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, sabd_exp_s);
4765 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, sabd_exp_d);
4810 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, mul_exp_b);
4811 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, mul_exp_h);
4812 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, mul_exp_s);
4813 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, mul_exp_d);
4827 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, umulh_exp_b);
4828 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, umulh_exp_h);
4829 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, umulh_exp_s);
4830 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, umulh_exp_d);
4866 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, exp_b);
4867 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, exp_h);
4868 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, exp_s);
4869 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, exp_d);
4907 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, and_exp_b);
4908 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, and_exp_h);
4909 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, and_exp_s);
4910 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, and_exp_d);
4923 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, bic_exp_b);
4924 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, bic_exp_h);
4925 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, bic_exp_s);
4926 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, bic_exp_d);
4939 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, eor_exp_b);
4940 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, eor_exp_h);
4941 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, eor_exp_s);
4942 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, eor_exp_d);
4955 IntBinArithHelper(config, fn, kBRegSize, pg_b, zn_b, zm_b, orr_exp_b);
4956 IntBinArithHelper(config, fn, kHRegSize, pg_h, zn_h, zm_h, orr_exp_h);
4957 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, orr_exp_s);
4958 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, orr_exp_d);
4992 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, exp_s);
4993 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, exp_d);
5027 IntBinArithHelper(config, fn, kSRegSize, pg_s, zn_s, zm_s, exp_s);
5028 IntBinArithHelper(config, fn, kDRegSize, pg_d, zn_d, zm_d, exp_d);
5037 static void IntArithHelper(Test* config,
5078 IntArithHelper(config, fn, kBRegSize, in_b, in_b, add_exp_b);
5079 IntArithHelper(config, fn, kHRegSize, in_h, in_h, add_exp_h);
5080 IntArithHelper(config, fn, kSRegSize, in_s, in_s, add_exp_s);
5081 IntArithHelper(config, fn, kDRegSize, in_d, in_d, add_exp_d);
5091 IntArithHelper(config, fn, kBRegSize, in_b, in_b, sqadd_exp_b);
5092 IntArithHelper(config, fn, kHRegSize, in_h, in_h, sqadd_exp_h);
5093 IntArithHelper(config, fn, kSRegSize, in_s, in_s, sqadd_exp_s);
5094 IntArithHelper(config, fn, kDRegSize, in_d, in_d, sqadd_exp_d);
5104 IntArithHelper(config, fn, kBRegSize, in_b, in_b, uqadd_exp_b);
5105 IntArithHelper(config, fn, kHRegSize, in_h, in_h, uqadd_exp_h);
5106 IntArithHelper(config, fn, kSRegSize, in_s, in_s, uqadd_exp_s);
5107 IntArithHelper(config, fn, kDRegSize, in_d, in_d, uqadd_exp_d);
5136 IntArithHelper(config, fn, kBRegSize, ins1_b, ins2_b, ins1_sub_ins2_exp_b);
5137 IntArithHelper(config, fn, kHRegSize, ins1_h, ins2_h, ins1_sub_ins2_exp_h);
5138 IntArithHelper(config, fn, kSRegSize, ins1_s, ins2_s, ins1_sub_ins2_exp_s);
5139 IntArithHelper(config, fn, kDRegSize, ins1_d, ins2_d, ins1_sub_ins2_exp_d);
5147 IntArithHelper(config, fn, kBRegSize, ins2_b, ins1_b, ins2_sub_ins1_exp_b);
5148 IntArithHelper(config, fn, kHRegSize, ins2_h, ins1_h, ins2_sub_ins1_exp_h);
5149 IntArithHelper(config, fn, kSRegSize, ins2_s, ins1_s, ins2_sub_ins1_exp_s);
5150 IntArithHelper(config, fn, kDRegSize, ins2_d, ins1_d, ins2_sub_ins1_exp_d);
5160 IntArithHelper(config, fn, kBRegSize, ins1_b, ins2_b, ins1_sqsub_ins2_exp_b);
5161 IntArithHelper(config, fn, kHRegSize, ins1_h, ins2_h, ins1_sqsub_ins2_exp_h);
5162 IntArithHelper(config, fn, kSRegSize, ins1_s, ins2_s, ins1_sqsub_ins2_exp_s);
5163 IntArithHelper(config, fn, kDRegSize, ins1_d, ins2_d, ins1_sqsub_ins2_exp_d);
5171 IntArithHelper(config, fn, kBRegSize, ins2_b, ins1_b, ins2_sqsub_ins1_exp_b);
5172 IntArithHelper(config, fn, kHRegSize, ins2_h, ins1_h, ins2_sqsub_ins1_exp_h);
5173 IntArithHelper(config, fn, kSRegSize, ins2_s, ins1_s, ins2_sqsub_ins1_exp_s);
5174 IntArithHelper(config, fn, kDRegSize, ins2_d, ins1_d, ins2_sqsub_ins1_exp_d);
5184 IntArithHelper(config, fn, kBRegSize, ins1_b, ins2_b, ins1_uqsub_ins2_exp_b);
5185 IntArithHelper(config, fn, kHRegSize, ins1_h, ins2_h, ins1_uqsub_ins2_exp_h);
5186 IntArithHelper(config, fn, kSRegSize, ins1_s, ins2_s, ins1_uqsub_ins2_exp_s);
5187 IntArithHelper(config, fn, kDRegSize, ins1_d, ins2_d, ins1_uqsub_ins2_exp_d);
5195 IntArithHelper(config, fn, kBRegSize, ins2_b, ins1_b, ins2_uqsub_ins1_exp_b);
5196 IntArithHelper(config, fn, kHRegSize, ins2_h, ins1_h, ins2_uqsub_ins1_exp_h);
5197 IntArithHelper(config, fn, kSRegSize, ins2_s, ins1_s, ins2_uqsub_ins1_exp_s);
5198 IntArithHelper(config, fn, kDRegSize, ins2_d, ins1_d, ins2_uqsub_ins1_exp_d);
5233 uint64_t vl = config->sve_vl_in_bytes();
5287 uint64_t vl = config->sve_vl_in_bytes();
5362 uint64_t vl = config->sve_vl_in_bytes();
5445 uint64_t vl = config->sve_vl_in_bytes();
5548 uint64_t vl = config->sve_vl_in_bytes();
5684 unsigned vl = config->sve_vl_in_bits();
6809 unsigned vl = config->sve_vl_in_bits();
6844 int vl = config->sve_vl_in_bytes();
6933 int vl = config->sve_vl_in_bytes();
7036 int vl = config->sve_vl_in_bytes();
7237 int vl = config->sve_vl_in_bytes();
7410 int vl = config->sve_vl_in_bytes();
7582 int vl = config->sve_vl_in_bytes();
7789 int vl = config->sve_vl_in_bytes();
8002 int vl = config->sve_vl_in_bytes();
8253 int vl = config->sve_vl_in_bytes();
8804 static void Ldff1Helper(Test* config,
8816 int vl = config->sve_vl_in_bytes();
8991 VIXL_ASSERT(page_size > static_cast<size_t>(config->sve_vl_in_bytes()));
9010 config,
9034 config,
9071 static void sve_ldff1_scalar_plus_vector_32_scaled_offset(Test* config,
9074 config,
9099 static void sve_ldff1_scalar_plus_vector_32_unscaled_offset(Test* config,
9102 config,
9139 Test* config, uintptr_t data) {
9142 config,
9179 Test* config, uintptr_t data) {
9182 config,
9228 static void sve_ldff1_scalar_plus_vector_64_scaled_offset(Test* config,
9231 config,
9262 static void sve_ldff1_scalar_plus_vector_64_unscaled_offset(Test* config,
9265 config,
9306 VIXL_ASSERT(page_size > static_cast<size_t>(config->sve_vl_in_bytes()));
9324 sve_ldff1_scalar_plus_vector_32_scaled_offset(config, data);
9325 sve_ldff1_scalar_plus_vector_32_unscaled_offset(config, data);
9326 sve_ldff1_scalar_plus_vector_32_unpacked_scaled_offset(config, data);
9327 sve_ldff1_scalar_plus_vector_32_unpacked_unscaled_offset(config, data);
9328 sve_ldff1_scalar_plus_vector_64_scaled_offset(config, data);
9329 sve_ldff1_scalar_plus_vector_64_unscaled_offset(config, data);
9341 VIXL_ASSERT(page_size > static_cast<size_t>(config->sve_vl_in_bytes()));
9447 VIXL_ASSERT(page_size > static_cast<size_t>(config->sve_vl_in_bytes()));
9643 VIXL_ASSERT(page_size > static_cast<size_t>(config->sve_vl_in_bytes()));
9820 static void GatherLoadScalarPlusVectorHelper(Test* config,
9836 int vl = config->sve_vl_in_bytes();
9932 static void GatherLoadScalarPlusScalarOrImmHelper(Test* config,
9945 int vl = config->sve_vl_in_bytes();
10024 GatherLoadScalarPlusScalarOrImmHelper(config,
10032 GatherLoadScalarPlusScalarOrImmHelper(config,
10040 GatherLoadScalarPlusScalarOrImmHelper(config,
10048 GatherLoadScalarPlusScalarOrImmHelper(config,
10056 GatherLoadScalarPlusScalarOrImmHelper(config,
10064 GatherLoadScalarPlusScalarOrImmHelper(config,
10072 GatherLoadScalarPlusScalarOrImmHelper(config,
10080 GatherLoadScalarPlusScalarOrImmHelper(config,
10088 GatherLoadScalarPlusScalarOrImmHelper(config,
10096 GatherLoadScalarPlusScalarOrImmHelper(config,
10104 GatherLoadScalarPlusScalarOrImmHelper(config,
10112 GatherLoadScalarPlusScalarOrImmHelper(config,
10122 config,
10150 config,
10188 config,
10226 config,
10264 config,
10297 config,
10565 uint64_t dlanes = config->sve_vl_in_bytes() / kDRegSizeInBytes;
10639 static void sve_st1_scalar_plus_vector_helper(Test* config,
10646 int vl = config->sve_vl_in_bytes();
10749 sve_st1_scalar_plus_vector_helper(config, kDRegSize, UXTW, false);
10750 sve_st1_scalar_plus_vector_helper(config, kDRegSize, SXTW, false);
10754 sve_st1_scalar_plus_vector_helper(config, kDRegSize, UXTW, true);
10755 sve_st1_scalar_plus_vector_helper(config, kDRegSize, SXTW, true);
10759 sve_st1_scalar_plus_vector_helper(config, kSRegSize, UXTW, false);
10760 sve_st1_scalar_plus_vector_helper(config, kSRegSize, SXTW, false);
10764 sve_st1_scalar_plus_vector_helper(config, kSRegSize, UXTW, true);
10765 sve_st1_scalar_plus_vector_helper(config, kSRegSize, SXTW, true);
10769 sve_st1_scalar_plus_vector_helper(config, kDRegSize, LSL, true);
10773 sve_st1_scalar_plus_vector_helper(config, kDRegSize, NO_SHIFT, false);
10781 static void IntWideImmHelper(Test* config,
10840 IntWideImmHelper(config, fn, kBRegSize, in_b, -1, exp_b_1);
10841 IntWideImmHelper(config, fn, kHRegSize, in_h, 127, exp_h_1);
10842 IntWideImmHelper(config, fn, kSRegSize, in_s, -128, exp_s_1);
10843 IntWideImmHelper(config, fn, kDRegSize, in_d, 99, exp_d_1);
10852 IntWideImmHelper(config, fn, kHRegSize, in_h, -255, exp_h_2);
10853 IntWideImmHelper(config, fn, kSRegSize, in_s, 2048, exp_s_2);
10854 IntWideImmHelper(config, fn, kDRegSize, in_d, INT16_MAX, exp_d_2);
10870 IntWideImmHelper(config, fn, kBRegSize, in_b, -1, exp_b_1);
10871 IntWideImmHelper(config, fn, kHRegSize, in_h, 127, exp_h_1);
10872 IntWideImmHelper(config, fn, kSRegSize, in_s, -128, exp_s_1);
10873 IntWideImmHelper(config, fn, kDRegSize, in_d, 99, exp_d_1);
10882 IntWideImmHelper(config, fn, kHRegSize, in_h, -255, exp_h_2);
10883 IntWideImmHelper(config, fn, kSRegSize, in_s, 2048, exp_s_2);
10884 IntWideImmHelper(config, fn, kDRegSize, in_d, INT16_MAX, exp_d_2);
10900 IntWideImmHelper(config, fn, kBRegSize, in_b, 17, exp_b_1);
10901 IntWideImmHelper(config, fn, kHRegSize, in_h, 0x7f, exp_h_1);
10902 IntWideImmHelper(config, fn, kSRegSize, in_s, 0xff, exp_s_1);
10903 IntWideImmHelper(config, fn, kDRegSize, in_d, 99, exp_d_1);
10912 IntWideImmHelper(config, fn, kHRegSize, in_h, 511, exp_h_2);
10913 IntWideImmHelper(config, fn, kSRegSize, in_s, 2048, exp_s_2);
10914 IntWideImmHelper(config, fn, kDRegSize, in_d, INT16_MAX, exp_d_2);
10930 IntWideImmHelper(config, fn, kBRegSize, in_b, 17, exp_b_1);
10931 IntWideImmHelper(config, fn, kHRegSize, in_h, 0x7f, exp_h_1);
10932 IntWideImmHelper(config, fn, kSRegSize, in_s, 255, exp_s_1);
10933 IntWideImmHelper(config, fn, kDRegSize, in_d, 99, exp_d_1);
10942 IntWideImmHelper(config, fn, kHRegSize, in_h, 511, exp_h_2);
10943 IntWideImmHelper(config, fn, kSRegSize, in_s, 2048, exp_s_2);
10944 IntWideImmHelper(config, fn, kDRegSize, in_d, INT16_MAX, exp_d_2);
10960 IntWideImmHelper(config, fn, kBRegSize, in_b, 6, exp_b_1);
10961 IntWideImmHelper(config, fn, kHRegSize, in_h, -128, exp_h_1);
10962 IntWideImmHelper(config, fn, kSRegSize, in_s, 127, exp_s_1);
10963 IntWideImmHelper(config, fn, kDRegSize, in_d, 2, exp_d_1);
10972 IntWideImmHelper(config, fn, kHRegSize, in_h, -255, exp_h_2);
10973 IntWideImmHelper(config, fn, kSRegSize, in_s, 2048, exp_s_2);
10974 IntWideImmHelper(config, fn, kDRegSize, in_d, 200, exp_d_2);
10979 IntWideImmHelper(config, fn, kBRegSize, in_b, 0x7f, exp_b_3);
10996 IntWideImmHelper(config, fn, kBRegSize, in_b, 0x81, exp_b_1);
10997 IntWideImmHelper(config, fn, kHRegSize, in_h, 16, exp_h_1);
10998 IntWideImmHelper(config, fn, kSRegSize, in_s, 127, exp_s_1);
10999 IntWideImmHelper(config, fn, kDRegSize, in_d, 0xff, exp_d_1);
11007 IntWideImmHelper(config, fn, kHRegSize, in_h, 16 << 8, exp_h_2);
11008 IntWideImmHelper(config, fn, kSRegSize, in_s, 127 << 8, exp_s_2);
11009 IntWideImmHelper(config, fn, kDRegSize, in_d, 0xff << 8, exp_d_2);
11014 IntWideImmHelper(config, fn, kSRegSize, in_s, 127 << 16, exp_s_3);
11022 IntWideImmHelper(config, fn, kBRegSize, in_b, -0x20, exp_b_4);
11023 IntWideImmHelper(config, fn, kHRegSize, in_h, -0x2000, exp_h_4);
11024 IntWideImmHelper(config, fn, kSRegSize, in_s, INT32_MIN, exp_s_4);
11025 IntWideImmHelper(config, fn, kDRegSize, in_d, -1, exp_d_4);
11043 IntWideImmHelper(config, fn, kBRegSize, in_b, 129, exp_b_1);
11044 IntWideImmHelper(config, fn, kHRegSize, in_h, 16, exp_h_1);
11045 IntWideImmHelper(config, fn, kSRegSize, in_s, 127, exp_s_1);
11046 IntWideImmHelper(config, fn, kDRegSize, in_d, 255, exp_d_1);
11054 IntWideImmHelper(config, fn, kHRegSize, in_h, 16 << 8, exp_h_2);
11055 IntWideImmHelper(config, fn, kSRegSize, in_s, 127 << 8, exp_s_2);
11056 IntWideImmHelper(config, fn, kDRegSize, in_d, 0xff << 8, exp_d_2);
11073 IntWideImmHelper(config, fn, kBRegSize, in_b, 0x81, exp_b_1);
11074 IntWideImmHelper(config, fn, kHRegSize, in_h, 16, exp_h_1);
11075 IntWideImmHelper(config, fn, kSRegSize, in_s, 127, exp_s_1);
11076 IntWideImmHelper(config, fn, kDRegSize, in_d, 0xff, exp_d_1);
11084 IntWideImmHelper(config, fn, kHRegSize, in_h, 16 << 8, exp_h_2);
11085 IntWideImmHelper(config, fn, kSRegSize, in_s, 127 << 8, exp_s_2);
11086 IntWideImmHelper(config, fn, kDRegSize, in_d, 0xff << 8, exp_d_2);
11103 IntWideImmHelper(config, fn, kBRegSize, in_b, 0x81, exp_b_1);
11104 IntWideImmHelper(config, fn, kHRegSize, in_h, 16, exp_h_1);
11105 IntWideImmHelper(config, fn, kSRegSize, in_s, 127, exp_s_1);
11106 IntWideImmHelper(config, fn, kDRegSize, in_d, 0xff, exp_d_1);
11114 IntWideImmHelper(config, fn, kHRegSize, in_h, 16 << 8, exp_h_2);
11115 IntWideImmHelper(config, fn, kSRegSize, in_s, 127 << 8, exp_s_2);
11116 IntWideImmHelper(config, fn, kDRegSize, in_d, 0xff << 8, exp_d_2);
11121 IntWideImmHelper(config, fn, kSRegSize, in_s, 127 << 16, exp_s_3);
11129 IntWideImmHelper(config, fn, kBRegSize, in_b, -0x20, exp_b_4);
11130 IntWideImmHelper(config, fn, kHRegSize, in_h, -0x2000, exp_h_4);
11131 IntWideImmHelper(config, fn, kSRegSize, in_s, INT32_MIN, exp_s_4);
11132 IntWideImmHelper(config, fn, kDRegSize, in_d, -1, exp_d_4);
11150 IntWideImmHelper(config, fn, kBRegSize, in_b, 129, exp_b_1);
11151 IntWideImmHelper(config, fn, kHRegSize, in_h, 16, exp_h_1);
11152 IntWideImmHelper(config, fn, kSRegSize, in_s, 127, exp_s_1);
11153 IntWideImmHelper(config, fn, kDRegSize, in_d, 255, exp_d_1);
11161 IntWideImmHelper(config, fn, kHRegSize, in_h, 16 << 8, exp_h_2);
11162 IntWideImmHelper(config, fn, kSRegSize, in_s, 127 << 8, exp_s_2);
11163 IntWideImmHelper(config, fn, kDRegSize, in_d, 0xff << 8, exp_d_2);
11180 IntWideImmHelper(config, fn, kBRegSize, in_b, 0x81, exp_b_1);
11181 IntWideImmHelper(config, fn, kHRegSize, in_h, 16, exp_h_1);
11182 IntWideImmHelper(config, fn, kSRegSize, in_s, 127, exp_s_1);
11183 IntWideImmHelper(config, fn, kDRegSize, in_d, 0xff, exp_d_1);
11191 IntWideImmHelper(config, fn, kHRegSize, in_h, 16 << 8, exp_h_2);
11192 IntWideImmHelper(config, fn, kSRegSize, in_s, 127 << 8, exp_s_2);
11193 IntWideImmHelper(config, fn, kDRegSize, in_d, 0xff << 8, exp_d_2);
11349 if (static_cast<int>(ArrayLength(pg_in)) >= config->sve_vl_in_bytes()) {
11429 if (static_cast<int>(ArrayLength(pg_in)) >= config->sve_vl_in_bytes()) {
11499 if (static_cast<int>(ArrayLength(pg_in)) >= config->sve_vl_in_bytes()) {
11571 if (static_cast<int>(ArrayLength(pg_in)) >= config->sve_vl_in_bytes()) {
11610 static void SdotUdotHelper(Test* config,
11719 SdotUdotHelper(config,
11729 SdotUdotHelper(config,
11758 SdotUdotHelper(config,
11768 SdotUdotHelper(config,
11802 SdotUdotHelper(config,
11831 SdotUdotHelper(config,
11866 SdotUdotHelper(config,
11894 SdotUdotHelper(config,
12100 static void FPBinArithHelper(Test* config,
12155 FPBinArithHelper(config, fn, kHRegSize, zn_inputs, zm_inputs, expected_h);
12165 FPBinArithHelper(config, fn, kSRegSize, zn_inputs, zm_inputs, expected_s);
12175 FPBinArithHelper(config, fn, kDRegSize, zn_inputs, zm_inputs, expected_d);
12199 FPBinArithHelper(config, fn, kHRegSize, zn_inputs, zm_inputs, expected_h);
12209 FPBinArithHelper(config, fn, kSRegSize, zn_inputs, zm_inputs, expected_s);
12219 FPBinArithHelper(config, fn, kDRegSize, zn_inputs, zm_inputs, expected_d);
12243 FPBinArithHelper(config, fn, kHRegSize, zn_inputs, zm_inputs, expected_h);
12253 FPBinArithHelper(config, fn, kSRegSize, zn_inputs, zm_inputs, expected_s);
12263 FPBinArithHelper(config, fn, kDRegSize, zn_inputs, zm_inputs, expected_d);
12281 Test* config,
12409 FPBinArithHelper(config,
12430 FPBinArithHelper(config,
12451 FPBinArithHelper(config,
12540 FPBinArithHelper(config,
12558 FPBinArithHelper(config,
12597 FPBinArithHelper(config,
12615 FPBinArithHelper(config,
12654 FPBinArithHelper(config,
12672 FPBinArithHelper(config,
12684 static void BitwiseShiftImmHelper(Test* config,
12747 BitwiseShiftImmHelper(config, kBRegSize, inputs_b, shift_b[i]);
12753 BitwiseShiftImmHelper(config, kHRegSize, inputs_h, shift_h[i]);
12759 BitwiseShiftImmHelper(config, kSRegSize, inputs_s, shift_s[i]);
12767 BitwiseShiftImmHelper(config, kDRegSize, inputs_d, shift_d[i]);
12772 static void BitwiseShiftWideElementsHelper(Test* config,
12846 BitwiseShiftWideElementsHelper(config,
12860 BitwiseShiftWideElementsHelper(config,
12872 BitwiseShiftWideElementsHelper(config,
12889 BitwiseShiftWideElementsHelper(config,
12903 BitwiseShiftWideElementsHelper(config,
12915 BitwiseShiftWideElementsHelper(config,
12933 BitwiseShiftWideElementsHelper(config,
12947 BitwiseShiftWideElementsHelper(config,
12958 BitwiseShiftWideElementsHelper(config,
12971 BitwiseShiftWideElementsHelper(config, LSL, kBRegSize, inputs_b2, shift_b2,
13263 static void WrffrHelper(Test* config, unsigned active_lanes) {
13291 WrffrHelper(config, active_lanes_inputs[i]);
13296 static void RdffrHelper(Test* config,
13355 RdffrHelper(config, active_lanes_inputs[i], pg_inputs_0);
13356 RdffrHelper(config, active_lanes_inputs[i], pg_inputs_1);
13357 RdffrHelper(config, active_lanes_inputs[i], pg_inputs_2);
13358 RdffrHelper(config, active_lanes_inputs[i], pg_inputs_3);
13359 RdffrHelper(config, active_lanes_inputs[i], pg_inputs_4);
13369 static void BrkpaBrkpbHelper(Test* config,
13413 static void BrkpaHelper(Test* config,
13418 BrkpaBrkpbHelper(config,
13428 static void BrkpbHelper(Test* config,
13433 BrkpaBrkpbHelper(config,
13471 BrkpbHelper(config, pg_1, pn_1, pm_1, exp_1_1_1);
13472 BrkpbHelper(config, pg_1, pn_2, pm_2, exp_1_2_2);
13473 BrkpbHelper(config, pg_1, pn_3, pm_3, exp_1_3_3);
13484 BrkpbHelper(config, pg_2, pn_1, pm_2, exp_2_1_2);
13485 BrkpbHelper(config, pg_2, pn_2, pm_3, exp_2_2_3);
13486 BrkpbHelper(config, pg_2, pn_3, pm_1, exp_2_3_1);
13497 BrkpbHelper(config, pg_3, pn_1, pm_3, exp_3_1_3);
13498 BrkpbHelper(config, pg_3, pn_2, pm_1, exp_3_2_1);
13499 BrkpbHelper(config, pg_3, pn_3, pm_2, exp_3_3_2);
13508 BrkpbHelper(config, pg_4, pn_1, pm_1, exp_4_x_x);
13509 BrkpbHelper(config, pg_4, pn_2, pm_2, exp_4_x_x);
13510 BrkpbHelper(config, pg_4, pn_3, pm_3, exp_4_x_x);
13543 BrkpaHelper(config, pg_1, pn_1, pm_1, exp_1_1_1);
13544 BrkpaHelper(config, pg_1, pn_2, pm_2, exp_1_2_2);
13545 BrkpaHelper(config, pg_1, pn_3, pm_3, exp_1_3_3);
13556 BrkpaHelper(config, pg_2, pn_1, pm_2, exp_2_1_2);
13557 BrkpaHelper(config, pg_2, pn_2, pm_3, exp_2_2_3);
13558 BrkpaHelper(config, pg_2, pn_3, pm_1, exp_2_3_1);
13569 BrkpaHelper(config, pg_3, pn_1, pm_3, exp_3_1_3);
13570 BrkpaHelper(config, pg_3, pn_2, pm_1, exp_3_2_1);
13571 BrkpaHelper(config, pg_3, pn_3, pm_2, exp_3_3_2);
13580 BrkpaHelper(config, pg_4, pn_1, pm_1, exp_4_x_x);
13581 BrkpaHelper(config, pg_4, pn_2, pm_2, exp_4_x_x);
13582 BrkpaHelper(config, pg_4, pn_3, pm_3, exp_4_x_x);
14090 int pl = config->sve_vl_in_bits() / kZRegBitsPerPRegBit;
14115 static void BrkaBrkbHelper(Test* config,
14169 static void BrkaHelper(Test* config,
14174 BrkaBrkbHelper(config,
14208 BrkaHelper(config, pd, pg_1, pn_1, exp_1_1);
14209 BrkaHelper(config, pd, pg_1, pn_2, exp_1_2);
14210 BrkaHelper(config, pd, pg_1, pn_3, exp_1_3);
14221 BrkaHelper(config, pd, pg_2, pn_1, exp_2_1);
14222 BrkaHelper(config, pd, pg_2, pn_2, exp_2_2);
14223 BrkaHelper(config, pd, pg_2, pn_3, exp_2_3);
14228 BrkaHelper(config, pd, pg_3, pn_1, exp_3_x);
14229 BrkaHelper(config, pd, pg_3, pn_2, exp_3_x);
14230 BrkaHelper(config, pd, pg_3, pn_3, exp_3_x);
14235 static void BrkbHelper(Test* config,
14240 BrkaBrkbHelper(config,
14274 BrkbHelper(config, pd, pg_1, pn_1, exp_1_1);
14275 BrkbHelper(config, pd, pg_1, pn_2, exp_1_2);
14276 BrkbHelper(config, pd, pg_1, pn_3, exp_1_3);
14287 BrkbHelper(config, pd, pg_2, pn_1, exp_2_1);
14288 BrkbHelper(config, pd, pg_2, pn_2, exp_2_2);
14289 BrkbHelper(config, pd, pg_2, pn_3, exp_2_3);
14294 BrkbHelper(config, pd, pg_3, pn_1, exp_3_x);
14295 BrkbHelper(config, pd, pg_3, pn_2, exp_3_x);
14296 BrkbHelper(config, pd, pg_3, pn_3, exp_3_x);
14313 static void BrknHelper(Test* config,
14387 BrknHelper(config, pd, pg_1, pn_1, pm, kUnchanged);
14388 BrknHelper(config, pd, pg_1, pn_2, pm, kAllFalse);
14389 BrknHelper(config, pd, pg_1, pn_3, pm, kAllFalse);
14391 BrknHelper(config, pd, pg_2, pn_1, pm, kAllFalse);
14392 BrknHelper(config, pd, pg_2, pn_2, pm, kUnchanged);
14393 BrknHelper(config, pd, pg_2, pn_3, pm, kAllFalse);
14395 BrknHelper(config, pd, pg_3, pn_1, pm, kAllFalse);
14396 BrknHelper(config, pd, pg_3, pn_2, pm, kAllFalse);
14397 BrknHelper(config, pd, pg_3, pn_3, pm, kAllFalse);
15355 static void TestFcvtFrintHelper(Test* config,
15442 static void TestFcvtzHelper(Test* config,
15449 TestFcvtFrintHelper(config,
15488 TestFcvtzHelper(config,
15496 TestFcvtzHelper(config,
15520 TestFcvtzHelper(config,
15528 TestFcvtzHelper(config,
15552 TestFcvtzHelper(config,
15560 TestFcvtzHelper(config,
15619 TestFcvtzHelper(config,
15627 TestFcvtzHelper(config,
15662 TestFcvtzHelper(config,
15670 TestFcvtzHelper(config,
15754 TestFcvtzHelper(config,
15762 TestFcvtzHelper(config,
15809 TestFcvtzHelper(config,
15817 TestFcvtzHelper(config,
15827 static void TestFrintHelper(Test* config,
15836 TestFcvtFrintHelper(config,
15888 TestFrintHelper(config,
15906 static void TestUScvtfHelper(Test* config,
16024 TestUScvtfHelper(config, kHRegSize, kDRegSize, pg_1, data_set_1);
16025 TestUScvtfHelper(config, kHRegSize, kSRegSize, pg_1, data_set_1);
16026 TestUScvtfHelper(config, kHRegSize, kHRegSize, pg_1, data_set_1);
16054 TestUScvtfHelper(config, kHRegSize, kHRegSize, pg_2, data_set_2);
16073 TestUScvtfHelper(config, dst_lane_size, src_lane_size, pg_1, data_set_1);
16090 TestUScvtfHelper(config, dst_lane_size, src_lane_size, pg_2, data_set_2);
16110 TestUScvtfHelper(config, dst_lane_size, src_lane_size, pg_3, data_set_3);
16129 TestUScvtfHelper(config, dst_lane_size, src_lane_size, pg_1, data_set_1);
16148 TestUScvtfHelper(config, dst_lane_size, src_lane_size, pg_2, data_set_2);
16170 TestUScvtfHelper(config, dst_lane_size, src_lane_size, pg_3, data_set_3);
16189 TestUScvtfHelper(config, dst_lane_size, src_lane_size, pg_1, data_set_1);
16207 TestUScvtfHelper(config, dst_lane_size, src_lane_size, pg_2, data_set_2);
16229 TestUScvtfHelper(config, dst_lane_size, src_lane_size, pg_3, data_set_3);
16248 TestUScvtfHelper(config, dst_lane_size, src_lane_size, pg_1, data_set_1);
16268 TestUScvtfHelper(config, dst_lane_size, src_lane_size, pg_2, data_set_2);
16644 Test* config,
16742 FPMulAccHelper(config,
16756 FPMulAccHelper(config,
16770 FPMulAccHelper(config,
16793 FPMulAccHelper(config,
16807 FPMulAccHelper(config,
16821 FPMulAccHelper(config,
16844 FPMulAccHelper(config,
16858 FPMulAccHelper(config,
16872 FPMulAccHelper(config,
16895 FPMulAccHelper(config,
16909 FPMulAccHelper(config,
16923 FPMulAccHelper(config,
16940 static void FPMulAccIdxHelper(Test* config,
17061 FPMulAccIdxHelper(config,
17068 FPMulAccIdxHelper(config,
17081 FPMulAccIdxHelper(config,
17088 FPMulAccIdxHelper(config,
17099 static void ProcessNaNsHelper(Test* config,
17110 FPBinArithHelper(config,
17129 FPBinArithHelper(config,
17142 FPBinArithHelper(config,
17158 static void ProcessNaNsHelper3(Test* config,
17175 FPMulAccHelper(config,
17185 FPMulAccHelper(config,
17195 FPMulAccHelper(config,
17205 FPMulAccHelper(config,
17249 ProcessNaNsHelper(config,
17261 ProcessNaNsHelper(config,
17272 ProcessNaNsHelper(config,
17295 ProcessNaNsHelper3(config,
17327 ProcessNaNsHelper3(config,
17360 ProcessNaNsHelper3(config,
17405 ProcessNaNsHelper(config,
17417 ProcessNaNsHelper(config,
17428 ProcessNaNsHelper(config,
17451 ProcessNaNsHelper3(config,
17483 ProcessNaNsHelper3(config,
17516 ProcessNaNsHelper3(config,
17562 ProcessNaNsHelper(config,
17574 ProcessNaNsHelper(config,
17585 ProcessNaNsHelper(config,
17608 ProcessNaNsHelper3(config,
17640 ProcessNaNsHelper3(config,
17673 ProcessNaNsHelper3(config,
17779 static void TestFpCompareHelper(Test* config,
17890 TestFpCompareHelper(config, lane_size, gt, zn, zm, pd_fcm_gt);
17891 TestFpCompareHelper(config, lane_size, lt, zn, zm, pd_fcm_lt);
17892 TestFpCompareHelper(config, lane_size, ge, zn, zm, pd_fcm_ge);
17893 TestFpCompareHelper(config, lane_size, le, zn, zm, pd_fcm_le);
17894 TestFpCompareHelper(config, lane_size, eq, zn, zm, pd_fcm_eq);
17895 TestFpCompareHelper(config, lane_size, ne, zn, zm, pd_fcm_ne);
17896 TestFpCompareHelper(config, lane_size, uo, zn, zm, pd_fcm_uo);
17899 TestFpCompareHelper(config, lane_size, gt, zn, zm, pd_fac_gt, true);
17900 TestFpCompareHelper(config, lane_size, lt, zn, zm, pd_fac_lt, true);
17901 TestFpCompareHelper(config, lane_size, ge, zn, zm, pd_fac_ge, true);
17902 TestFpCompareHelper(config, lane_size, le, zn, zm, pd_fac_le, true);
17907 static void TestFpCompareZeroHelper(Test* config,
17973 TestFpCompareZeroHelper(config, kDRegSize, gt, zn_inputs_d, pd_expected_gt);
17974 TestFpCompareZeroHelper(config, kDRegSize, lt, zn_inputs_d, pd_expected_lt);
17975 TestFpCompareZeroHelper(config, kDRegSize, ge, zn_inputs_d, pd_expected_ge);
17976 TestFpCompareZeroHelper(config, kDRegSize, le, zn_inputs_d, pd_expected_le);
17977 TestFpCompareZeroHelper(config, kDRegSize, eq, zn_inputs_d, pd_expected_eq);
17978 TestFpCompareZeroHelper(config, kDRegSize, ne, zn_inputs_d, pd_expected_ne);
17980 TestFpCompareZeroHelper(config, kSRegSize, gt, zn_inputs_s, pd_expected_gt);
17981 TestFpCompareZeroHelper(config, kSRegSize, lt, zn_inputs_s, pd_expected_lt);
17982 TestFpCompareZeroHelper(config, kSRegSize, ge, zn_inputs_s, pd_expected_ge);
17983 TestFpCompareZeroHelper(config, kSRegSize, le, zn_inputs_s, pd_expected_le);
17984 TestFpCompareZeroHelper(config, kSRegSize, eq, zn_inputs_s, pd_expected_eq);
17985 TestFpCompareZeroHelper(config, kSRegSize, ne, zn_inputs_s, pd_expected_ne);
17987 TestFpCompareZeroHelper(config, kHRegSize, gt, zn_inputs_h, pd_expected_gt);
17988 TestFpCompareZeroHelper(config, kHRegSize, lt, zn_inputs_h, pd_expected_lt);
17989 TestFpCompareZeroHelper(config, kHRegSize, ge, zn_inputs_h, pd_expected_ge);
17990 TestFpCompareZeroHelper(config, kHRegSize, le, zn_inputs_h, pd_expected_le);
17991 TestFpCompareZeroHelper(config, kHRegSize, eq, zn_inputs_h, pd_expected_eq);
17992 TestFpCompareZeroHelper(config, kHRegSize, ne, zn_inputs_h, pd_expected_ne);
18004 static void TestFPUnaryPredicatedHelper(Test* config,
18101 static void TestFPUnaryPredicatedHelper(Test* config,
18113 TestFPUnaryPredicatedHelper(config,
18128 TestFPUnaryPredicatedHelper(config,
18139 static void TestFcvtHelper(Test* config,
18144 TestFPUnaryPredicatedHelper(config,
18181 TestFcvtHelper(config, kHRegSize, kSRegSize, h_vals, s_vals);
18182 TestFcvtHelper(config, kSRegSize, kHRegSize, s_vals, h_vals);
18183 TestFcvtHelper(config, kSRegSize, kDRegSize, s_vals, d_vals);
18184 TestFcvtHelper(config, kDRegSize, kSRegSize, d_vals, s_vals);
18185 TestFcvtHelper(config, kHRegSize, kDRegSize, h_vals, d_vals);
18186 TestFcvtHelper(config, kDRegSize, kHRegSize, d_vals, h_vals);
18211 TestFcvtHelper(config, kHRegSize, kSRegSize, h_inputs, h2s_expected);
18212 TestFcvtHelper(config, kSRegSize, kHRegSize, s_inputs, s2h_expected);
18213 TestFcvtHelper(config, kHRegSize, kDRegSize, h_inputs, h2d_expected);
18214 TestFcvtHelper(config, kDRegSize, kHRegSize, d_inputs, d2h_expected);
18215 TestFcvtHelper(config, kSRegSize, kDRegSize, s_inputs, s2d_expected);
18216 TestFcvtHelper(config, kDRegSize, kSRegSize, d_inputs, d2s_expected);
18220 static void TestFrecpxHelper(Test* config,
18224 TestFPUnaryPredicatedHelper(config,
18261 TestFrecpxHelper(config, kHRegSize, zn_inputs, zd_expected);
18290 TestFrecpxHelper(config, kSRegSize, zn_inputs, zd_expected);
18319 TestFrecpxHelper(config, kDRegSize, zn_inputs, zd_expected);
18323 static void TestFsqrtHelper(Test* config,
18327 TestFPUnaryPredicatedHelper(config,
18364 TestFsqrtHelper(config, kHRegSize, zn_inputs, zd_expected);
18394 TestFsqrtHelper(config, kSRegSize, zn_inputs, zd_expected);
18425 TestFsqrtHelper(config, kDRegSize, zn_inputs, zd_expected);
18495 static void LoadBcastHelper(Test* config,
18509 int vl = config->sve_vl_in_bytes();
18590 LoadBcastHelper(config, kBRegSize, kBRegSize, &MacroAssembler::Ld1rb, false);
18591 LoadBcastHelper(config, kBRegSize, kHRegSize, &MacroAssembler::Ld1rb, false);
18592 LoadBcastHelper(config, kBRegSize, kSRegSize, &MacroAssembler::Ld1rb, false);
18593 LoadBcastHelper(config, kBRegSize, kDRegSize, &MacroAssembler::Ld1rb, false);
18597 LoadBcastHelper(config, kHRegSize, kHRegSize, &MacroAssembler::Ld1rh, false);
18598 LoadBcastHelper(config, kHRegSize, kSRegSize, &MacroAssembler::Ld1rh, false);
18599 LoadBcastHelper(config, kHRegSize, kDRegSize, &MacroAssembler::Ld1rh, false);
18603 LoadBcastHelper(config, kSRegSize, kSRegSize, &MacroAssembler::Ld1rw, false);
18604 LoadBcastHelper(config, kSRegSize, kDRegSize, &MacroAssembler::Ld1rw, false);
18608 LoadBcastHelper(config, kDRegSize, kDRegSize, &MacroAssembler::Ld1rd, false);
18612 LoadBcastHelper(config, kBRegSize, kHRegSize, &MacroAssembler::Ld1rsb, true);
18613 LoadBcastHelper(config, kBRegSize, kSRegSize, &MacroAssembler::Ld1rsb, true);
18614 LoadBcastHelper(config, kBRegSize, kDRegSize, &MacroAssembler::Ld1rsb, true);
18618 LoadBcastHelper(config, kHRegSize, kSRegSize, &MacroAssembler::Ld1rsh, true);
18619 LoadBcastHelper(config, kHRegSize, kDRegSize, &MacroAssembler::Ld1rsh, true);
18623 LoadBcastHelper(config, kSRegSize, kDRegSize, &MacroAssembler::Ld1rsw, true);
19963 void Test_sve_fmatmul(Test* config) {
20079 void Test_sve_ld1ro(Test* config) {