From 1af59b28b57f460b2944f803251a297fd4f7a769 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Tue, 25 Jan 2011 00:27:50 +0100 Subject: [PATCH] r600g: FLT_TO_INT* are vector instructions on Evergreen. FLT_TO_INT is a vector instruction, despite what the (current) documentation says. FLT_TO_INT_FLOOR and FLT_TO_INT_RPI aren't explicitly mentioned in the documentation, but those are vector instructions too. --- src/gallium/drivers/r600/r600_asm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index f46059b9e90..9cdd10f9876 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -417,9 +417,9 @@ static int is_alu_trans_unit_inst(struct r600_bc *bc, struct r600_bc_alu *alu) case CHIPREV_EVERGREEN: default: if (!alu->is_op3) + /* Note that FLT_TO_INT* instructions are vector instructions + * on Evergreen, despite what the documentation says. */ return alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ASHR_INT || - alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT || - alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_FLOOR || alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INT_TO_FLT || alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHL_INT || alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHR_INT || -- 2.30.2