48ad58964c
The SWX pipeline instructions work with operands of different types: header fields (h.header.field), packet meta-data (m.field), extern object mailbox field (e.obj.field), extern function (f.field), action data read from table entries (t.field), or immediate values; hence the HMEFTI acronym. The H operands are stored in network byte order (NBO), while the MEFT operands are stored in host byte order (HBO), hence the need to operate endianness conversions. Some of the endianness conversion macros were not working correctly for some cases such as operands of different sizes, and they are fixed now. Affected instructions: mov, and, or, xor, jmpeq, jmpneq. Fixes: 7210349d5baa ("pipeline: add SWX move instruction") Fixes: 650195cf965a ("pipeline: introduce SWX and instruction") Fixes: 8f796198dcda ("pipeline: introduce SWX or instruction") Fixes: b4e607f9fd5e ("pipeline: introduce SWX XOR instruction") Fixes: b3947e25bed4 ("pipeline: introduce SWX jump and return instructions") Cc: stable@dpdk.org Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>