mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 17:30:12 +01:00
pan/bi: Add frexp_log packing
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4615>
This commit is contained in:
parent
e067fd7b00
commit
9904ed170a
2 changed files with 9 additions and 0 deletions
|
|
@ -728,6 +728,13 @@ bi_pack_fma_csel(bi_instruction *ins, struct bi_registers *regs)
|
|||
RETURN_PACKED(pack);
|
||||
}
|
||||
|
||||
static unsigned
|
||||
bi_pack_fma_frexp(bi_instruction *ins, struct bi_registers *regs)
|
||||
{
|
||||
unsigned op = BIFROST_FMA_OP_FREXPE_LOG;
|
||||
return bi_pack_fma_1src(ins, regs, op);
|
||||
}
|
||||
|
||||
/* We have a single convert opcode in the IR but a number of opcodes that could
|
||||
* come out. In particular we have native opcodes for:
|
||||
*
|
||||
|
|
@ -857,6 +864,7 @@ bi_pack_fma(bi_clause *clause, bi_bundle bundle, struct bi_registers *regs)
|
|||
case BI_FMA:
|
||||
return bi_pack_fma_fma(bundle.fma, regs);
|
||||
case BI_FREXP:
|
||||
return bi_pack_fma_frexp(bundle.fma, regs);
|
||||
case BI_ISUB:
|
||||
return BIFROST_FMA_NOP;
|
||||
case BI_MINMAX:
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ enum bifrost_packed_src {
|
|||
|
||||
#define BIFROST_FMA_EXT (0xe0000)
|
||||
#define BIFROST_FMA_OP_MOV BIFROST_FMA_EXT | (0x32d)
|
||||
#define BIFROST_FMA_OP_FREXPE_LOG BIFROST_FMA_EXT | 0x3c5
|
||||
|
||||
struct bifrost_fma_inst {
|
||||
unsigned src0 : 3;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue