https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93080

Torbjorn SVENSSON <azoff at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |azoff at gcc dot gnu.org

--- Comment #10 from Torbjorn SVENSSON <azoff at gcc dot gnu.org> ---
With the change introduced in comment 8, I now see the following failures for
arm-none-eabi:

FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized
"BIT_FIELD_REF" 0
FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized
"BIT_INSERT_EXPR" 0
FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized
"BIT_FIELD_REF" 0
FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized
"BIT_INSERT_EXPR" 1

The tests only fails for Cortex-M55/M85 with -mfloat-abi=hard, but not when
using -mfloat-abu=soft.



The content of forwprop-40.c.273t.optimized for Cortex-M55
(thumb/arch=armv8.1-m.main+mve.fp+fp.dp/tune=cortex-m55/float-abi=hard/fpu=auto)
with r16-8253-geb50d28a9353e9 is:
;; Function g (g, funcdef_no=0, decl_uid=7945, cgraph_uid=1, symbol_order=0)

vector(4) int g (vector(4) int a)
{
  int b;

  <bb 2> [local count: 1073741824]:
  b_2 = BIT_FIELD_REF <a_1(D), 32, 0>;
  a_3 = BIT_INSERT_EXPR <a_1(D), b_2, 0 (32 bits)>;
  return a_3;
}


The content of forwprop-41.c.273t.optimized for Cortex-M55
(thumb/arch=armv8.1-m.main+mve.fp+fp.dp/tune=cortex-m55/float-abi=hard/fpu=auto)
with r16-8253-geb50d28a9353e9 is:
;; Function g (g, funcdef_no=0, decl_uid=7946, cgraph_uid=1, symbol_order=0)

vector(4) int g (vector(4) int a, int c)
{
  int b;

  <bb 2> [local count: 1073741824]:
  b_2 = BIT_FIELD_REF <a_1(D), 32, 64>;
  a_3 = BIT_INSERT_EXPR <a_1(D), b_2, 64 (32 bits)>;
  a_5 = BIT_INSERT_EXPR <a_3, c_4(D), 32 (32 bits)>;
  return a_5;
}


Should the tests be xfail, just like they are for s390 or is this a bug in GCC?

The same tests pass'es on x86_64-pc-linux-gnu.

Reply via email to