d0ca332...
by
Amresh Kulkarni <email address hidden>
Error on duplicate control plane names
9de755b...
by
Carl Geoffrion <email address hidden>
Update StrengthReduction pass relative to signed shift left operation (#2754)
* Update StrengthReduction pass relative to signed shift left operation
The current code does not slice a shift left operation if the source
field is signed, e.g.:
unsigned_val[7:0] = (signed_val << 3)[15:8];
to something like this:
unsigned_val[7:0] = signed_val[12:5];
This is not in-line with the P4 Spec "8.6. Operations on fixed-width
signed integers" chapter which state "Shifting left produces the exact
same bit pattern as a shift left of an unsigned value. Shift left can
thus overflow, when it leads to a change of the sign bit."
Slicing the operation also help reduce field constraints down the road.
32b157c...
by
Andy Fingerhut <email address hidden>
Update PSA test programs to always put parsed headers inside a struct (#2746)
* Update PSA test programs to always put parsed headers inside a struct
Many of these test programs were written so that a single Ethernet
header type was being passed as the parameter to top level parsers and
controls in the PSA architecture, rather than the more typical struct
of multiple headers. This was not necessarily an error, but at least
the v1model architecture explicitly documents the user-defined headers
type H must be a struct containing header/stack/union types, but not
itself a header. It would be best to avoid any special-case code in
the PSA back end to handle this unlikely use case. I call it unlikely
because almost no one ever writes a program that only parses a single
header.
* Update expected output files for DPDK back end
* Updated expected outputs for one more test program