Summary: | arm: UB in arm_canonicalize_comparison (shift exponent 127 is too large for 64-bit type) | ||
---|---|---|---|
Product: | gcc | Reporter: | Alex Coplan <acoplan> |
Component: | target | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | NEW --- | ||
Severity: | normal | CC: | clyon |
Priority: | P3 | ||
Version: | 11.0 | ||
Target Milestone: | --- | ||
Host: | Target: | arm | |
Build: | Known to work: | ||
Known to fail: | 11.0 | Last reconfirmed: | 2021-04-23 00:00:00 |
Bug Depends on: | |||
Bug Blocks: | 63426 |
Description
Alex Coplan
2021-04-22 17:54:24 UTC
GCC built with UBSan here, to be clear. Confirmed by visual inspection. Clearly this code was written at a time when the largest integral mode on Arm was DImode. It won't work for wider modes and it won't do anything for non-integral modes. Needs an overhaul. |