diff options
author | Jeff Law <jlaw@ventanamicro.com> | 2023-07-22 09:47:21 -0600 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro.com> | 2023-07-22 09:51:46 -0600 |
commit | bb095e8a343db043a0cd0b0da9b2ab1186d1a1ed (patch) | |
tree | f0999a4fb68744a86db2bdcf258b10644ede2874 | |
parent | 73cc6ce1294ec35e9322b1bbc91009cfc76f732b (diff) | |
download | gcc-bb095e8a343db043a0cd0b0da9b2ab1186d1a1ed.zip gcc-bb095e8a343db043a0cd0b0da9b2ab1186d1a1ed.tar.gz gcc-bb095e8a343db043a0cd0b0da9b2ab1186d1a1ed.tar.bz2 |
[committed] Fix length computation bug in bfin port
The tester seemed to occasionally ping-pong a compilation failure on the
builtin-bitops-1.c test. I long suspected it was something like length
computations.
I finally got a few minutes to dig into it, and sure enough the blackfin
port was claiming the "ones" operation was 2 bytes when it is in fact 4 bytes.
This fixes the compilation failure for the builtin-bitops-1.c test. Sadly,
it doesn't fix any of the other failures on the bfin port.
Committed to the trunk.
gcc/
* config/bfin/bfin.md (ones): Fix length computation.
-rw-r--r-- | gcc/config/bfin/bfin.md | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/bfin/bfin.md b/gcc/config/bfin/bfin.md index 9b5ab07..c6b174d 100644 --- a/gcc/config/bfin/bfin.md +++ b/gcc/config/bfin/bfin.md @@ -1401,7 +1401,8 @@ (popcount:SI (match_operand:SI 1 "register_operand" "d"))))] "" "%h0 = ONES %1;" - [(set_attr "type" "alu0")]) + [(set_attr "type" "alu0") + (set_attr "length" "4")]) (define_expand "popcountsi2" [(set (match_dup 2) |