mirror of https://gitee.com/openkylin/qemu.git
tcg/ppc: Implement vector NAND, NOR, EQV
Tested-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
ed5234735a
commit
fa8e90d69f
|
@ -3122,6 +3122,9 @@ int tcg_can_emit_vec_op(TCGOpcode opc, TCGType type, unsigned vece)
|
|||
case INDEX_op_xor_vec:
|
||||
case INDEX_op_andc_vec:
|
||||
case INDEX_op_not_vec:
|
||||
case INDEX_op_nor_vec:
|
||||
case INDEX_op_eqv_vec:
|
||||
case INDEX_op_nand_vec:
|
||||
return 1;
|
||||
case INDEX_op_orc_vec:
|
||||
return have_isa_2_07;
|
||||
|
@ -3400,6 +3403,15 @@ static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
|
|||
case INDEX_op_orc_vec:
|
||||
insn = VORC;
|
||||
break;
|
||||
case INDEX_op_nand_vec:
|
||||
insn = VNAND;
|
||||
break;
|
||||
case INDEX_op_nor_vec:
|
||||
insn = VNOR;
|
||||
break;
|
||||
case INDEX_op_eqv_vec:
|
||||
insn = VEQV;
|
||||
break;
|
||||
|
||||
case INDEX_op_cmp_vec:
|
||||
switch (args[3]) {
|
||||
|
@ -3787,6 +3799,9 @@ static TCGConstraintSetIndex tcg_target_op_def(TCGOpcode op)
|
|||
case INDEX_op_xor_vec:
|
||||
case INDEX_op_andc_vec:
|
||||
case INDEX_op_orc_vec:
|
||||
case INDEX_op_nor_vec:
|
||||
case INDEX_op_eqv_vec:
|
||||
case INDEX_op_nand_vec:
|
||||
case INDEX_op_cmp_vec:
|
||||
case INDEX_op_ssadd_vec:
|
||||
case INDEX_op_sssub_vec:
|
||||
|
|
|
@ -162,9 +162,9 @@ extern bool have_vsx;
|
|||
|
||||
#define TCG_TARGET_HAS_andc_vec 1
|
||||
#define TCG_TARGET_HAS_orc_vec have_isa_2_07
|
||||
#define TCG_TARGET_HAS_nand_vec 0
|
||||
#define TCG_TARGET_HAS_nor_vec 0
|
||||
#define TCG_TARGET_HAS_eqv_vec 0
|
||||
#define TCG_TARGET_HAS_nand_vec have_isa_2_07
|
||||
#define TCG_TARGET_HAS_nor_vec 1
|
||||
#define TCG_TARGET_HAS_eqv_vec have_isa_2_07
|
||||
#define TCG_TARGET_HAS_not_vec 1
|
||||
#define TCG_TARGET_HAS_neg_vec have_isa_3_00
|
||||
#define TCG_TARGET_HAS_abs_vec 0
|
||||
|
|
Loading…
Reference in New Issue