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.
Jeff
commit bb095e8a343db043a0cd0b0da9b2ab1186d1a1ed
Author: Jeff Law <j...@ventanamicro.com>
Date: Sat Jul 22 09:47:21 2023 -0600
[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.
diff --git a/gcc/config/bfin/bfin.md b/gcc/config/bfin/bfin.md
index 9b5ab071778..c6b174dc3bd 100644
--- a/gcc/config/bfin/bfin.md
+++ b/gcc/config/bfin/bfin.md
@@ -1401,7 +1401,8 @@ (define_insn "ones"
(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)