The GCN VCC register has 64 CC values in one registers, one bit for each vector lane. Previously we avoided problems with invalid optimizations by not declaring a mode for the comparison operators, but it turns out that causes other problems (and build warnings). Instead, the optimization issues can be avoided by setting STORE_REGISTER_VALUE to -1, meaning that all the bits are significant. (It would be better if we could set STORE_REGISTER_VALUE according to the known mask or vector size, but we can't.) 2020-03-18 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/gcn/gcn-valu.md (vec_cmp<mode>di): Set operand 1 to DImode. (vec_cmp<mode>di_dup): Likewise. * config/gcn/gcn.h (STORE_FLAG_VALUE): Set to -1.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| constraints.md | Loading commit data... | |
| driver-gcn.c | Loading commit data... | |
| gcn-builtins.def | Loading commit data... | |
| gcn-hsa.h | Loading commit data... | |
| gcn-modes.def | Loading commit data... | |
| gcn-opts.h | Loading commit data... | |
| gcn-passes.def | Loading commit data... | |
| gcn-protos.h | Loading commit data... | |
| gcn-run.c | Loading commit data... | |
| gcn-tree.c | Loading commit data... | |
| gcn-valu.md | Loading commit data... | |
| gcn.c | Loading commit data... | |
| gcn.h | Loading commit data... | |
| gcn.md | Loading commit data... | |
| gcn.opt | Loading commit data... | |
| mkoffload.c | Loading commit data... | |
| offload.h | Loading commit data... | |
| predicates.md | Loading commit data... | |
| t-gcn-hsa | Loading commit data... | |
| t-omp-device | Loading commit data... |