On Tue, Nov 01, 2016 at 10:05:22AM +0100, Uros Bizjak wrote:
> ... simplify some conditions and add i?86-*-* target where missing.
>
> 2016-11-01 Uros Bizjak <[email protected]>
>
> * lib/target-supports.exp: Normalize order of i?86 and x86_64 targets.
> Whitespace fixes.
...
> (check_effective_target_divmod): Add i?86-*-* target.
This part likely broke
+FAIL: gcc.dg/divmod-1.c scan-tree-dump-times widening_mul "DIVMOD" 7
+FAIL: gcc.dg/divmod-2.c scan-tree-dump-times widening_mul "DIVMOD" 7
+FAIL: gcc.dg/divmod-3.c scan-tree-dump-times widening_mul "DIVMOD" 7
+FAIL: gcc.dg/divmod-4.c scan-tree-dump-times widening_mul "DIVMOD" 7
+FAIL: gcc.dg/divmod-6.c scan-tree-dump-times widening_mul "DIVMOD" 7
on i686-linux (i.e. 32-bit).
Dunno what exactly the tests are meant to test, most likely they just
need extra guards or something. Can be reproduced even on x86_64-linux
with
make check-gcc RUNTESTFLAGS='--target_board=unix\{-m32,-m64\} dg.exp=divmod*'
> @@ -8110,7 +8090,7 @@
> #TODO: Add checks for all targets that have either hardware divmod insn
> # or define libfunc for divmod.
> if { [istarget arm*-*-*]
> - || [istarget x86_64-*-*] } {
> + || [istarget i?86-*-*] || [istarget x86_64-*-*] } {
> return 1
> }
> return 0
Jakub