Now
MAIN commitmail json YAML
cksum128mod: Prepare jump address by 'mova', instead of 'mov.l'.
Since both this 'mova' and 'and #imm' above must be used against r0,
we need extra 'mov r0, r3'. However, this should still be good both for
sh3 and sh4:
- For sh3, 'mov.l' at odd half-word address is removed; pipeline hazard
due to instruction fetch is resolved.
- For sh4, data cache line is no longer assigned for this 'mov.l'.
Also:
- Upcoming __PIC__ support (in order to avoid text relocations when built
in tests/net/in_cksum) becomes simpler; no need CALL_DATUM_LOCAL() for
cksum128_tail.
- Shave off 4 bytes from text.
No regression is observed for sh3 (hpcsh) and sh4 (landisk).
Since both this 'mova' and 'and #imm' above must be used against r0,
we need extra 'mov r0, r3'. However, this should still be good both for
sh3 and sh4:
- For sh3, 'mov.l' at odd half-word address is removed; pipeline hazard
due to instruction fetch is resolved.
- For sh4, data cache line is no longer assigned for this 'mov.l'.
Also:
- Upcoming __PIC__ support (in order to avoid text relocations when built
in tests/net/in_cksum) becomes simpler; no need CALL_DATUM_LOCAL() for
cksum128_tail.
- Shave off 4 bytes from text.
No regression is observed for sh3 (hpcsh) and sh4 (landisk).