P4C
The P4 Compiler
Loading...
Searching...
No Matches
bf-asm/jbay/phv.h
1
17
18
#ifndef BACKENDS_TOFINO_BF_ASM_JBAY_PHV_H_
19
#define BACKENDS_TOFINO_BF_ASM_JBAY_PHV_H_
20
21
#include "backends/tofino/bf-asm/phv.h"
22
23
class
Target::JBay::Phv :
public
Target::Phv {
24
friend
class ::Phv;
25
struct
Register :
public
::Phv::Register {
26
short
parser_id_, deparser_id_;
27
int
parser_id()
const override
{
return
parser_id_; }
28
int
mau_id()
const override
{
return
uid < 280 ? uid : -1; }
29
int
ixbar_id()
const override
{
30
static
const
int
ixbar_permute[16] = {0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, -6, -6, 0, 0};
31
return
deparser_id_ + ixbar_permute[deparser_id_ & 0xf];
32
}
33
int
deparser_id()
const override
{
return
deparser_id_; }
34
};
35
void
init_regs(::Phv &phv)
override
;
36
target_t type()
const override
{
return
JBAY; }
37
unsigned
mau_groupsize()
const override
{
return
20; }
38
};
39
40
class
Target::Tofino2H::Phv :
public
Target::JBay::Phv {
41
target_t type()
const override
{
return
TOFINO2H; }
42
};
43
44
class
Target::Tofino2M::Phv :
public
Target::JBay::Phv {
45
target_t type()
const override
{
return
TOFINO2M; }
46
};
47
48
class
Target::Tofino2U::Phv :
public
Target::JBay::Phv {
49
target_t type()
const override
{
return
TOFINO2U; }
50
};
51
52
class
Target::Tofino2A0::Phv :
public
Target::JBay::Phv {
53
target_t type()
const override
{
return
TOFINO2A0; }
54
};
55
56
#endif
/* BACKENDS_TOFINO_BF_ASM_JBAY_PHV_H_ */
backends
tofino
bf-asm
jbay
phv.h
Generated by
1.13.2