@@ -1180,70 +1180,6 @@ instruct vand_notL_masked(vReg dst, vReg src2, vReg src1, immL_M1 m1, vRegMask_V
1180
1180
ins_pipe(pipe_slow);
1181
1181
%}
1182
1182
1183
- instruct vand_not_regI(vReg dst, vReg src2, iRegIorL2I src1, immI_M1 m1) %{
1184
- predicate(UseZvbb);
1185
- predicate(Matcher::vector_element_basic_type(n) == T_INT ||
1186
- Matcher::vector_element_basic_type(n) == T_BYTE ||
1187
- Matcher::vector_element_basic_type(n) == T_SHORT);
1188
- match(Set dst (AndV src2 (Replicate (XorI src1 m1))));
1189
- format %{ "vandn.vx $dst, $src2, $src1" %}
1190
- ins_encode %{
1191
- BasicType bt = Matcher::vector_element_basic_type(this);
1192
- __ vsetvli_helper(bt, Matcher::vector_length(this));
1193
- __ vandn_vx(as_VectorRegister($dst$$reg),
1194
- as_VectorRegister($src2$$reg),
1195
- as_Register($src1$$reg));
1196
- %}
1197
- ins_pipe(pipe_slow);
1198
- %}
1199
-
1200
- instruct vand_not_regL(vReg dst, vReg src2, iRegL src1, immL_M1 m1) %{
1201
- predicate(UseZvbb);
1202
- predicate(Matcher::vector_element_basic_type(n) == T_LONG);
1203
- match(Set dst (AndV src2 (Replicate (XorL src1 m1))));
1204
- format %{ "vandn.vx $dst, $src2, $src1" %}
1205
- ins_encode %{
1206
- __ vsetvli_helper(T_LONG, Matcher::vector_length(this));
1207
- __ vandn_vx(as_VectorRegister($dst$$reg),
1208
- as_VectorRegister($src2$$reg),
1209
- as_Register($src1$$reg));
1210
- %}
1211
- ins_pipe(pipe_slow);
1212
- %}
1213
-
1214
- instruct vand_not_regI_masked(vReg dst, vReg src2, iRegIorL2I src1, immI_M1 m1, vRegMask_V0 v0) %{
1215
- predicate(UseZvbb);
1216
- predicate(Matcher::vector_element_basic_type(n) == T_INT ||
1217
- Matcher::vector_element_basic_type(n) == T_BYTE ||
1218
- Matcher::vector_element_basic_type(n) == T_SHORT);
1219
- match(Set dst (AndV (Binary src2 (Replicate (XorI src1 m1))) v0));
1220
- format %{ "vandn.vx $dst, $src2, $src1, $v0" %}
1221
- ins_encode %{
1222
- BasicType bt = Matcher::vector_element_basic_type(this);
1223
- __ vsetvli_helper(bt, Matcher::vector_length(this));
1224
- __ vandn_vx(as_VectorRegister($dst$$reg),
1225
- as_VectorRegister($src2$$reg),
1226
- as_Register($src1$$reg),
1227
- Assembler::v0_t);
1228
- %}
1229
- ins_pipe(pipe_slow);
1230
- %}
1231
-
1232
- instruct vand_not_regL_masked(vReg dst, vReg src2, iRegL src1, immL_M1 m1, vRegMask_V0 v0) %{
1233
- predicate(UseZvbb);
1234
- predicate(Matcher::vector_element_basic_type(n) == T_LONG);
1235
- match(Set dst (AndV (Binary src2 (Replicate (XorL src1 m1))) v0));
1236
- format %{ "vandn.vx $dst, $src2, $src1, $v0" %}
1237
- ins_encode %{
1238
- __ vsetvli_helper(T_LONG, Matcher::vector_length(this));
1239
- __ vandn_vx(as_VectorRegister($dst$$reg),
1240
- as_VectorRegister($src2$$reg),
1241
- as_Register($src1$$reg),
1242
- Assembler::v0_t);
1243
- %}
1244
- ins_pipe(pipe_slow);
1245
- %}
1246
-
1247
1183
// ------------------------------ Vector not -----------------------------------
1248
1184
1249
1185
// vector not
0 commit comments