[Bug other/62248] Configure error with --with-fpu=fp-armv8

2014-08-27 Thread yvan.roux at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62248

Yvan Roux yvan.roux at linaro dot org changed:

   What|Removed |Added

 CC||yvan.roux at linaro dot org

--- Comment #1 from Yvan Roux yvan.roux at linaro dot org ---
Indeed --with-fpu provides the default value for -mfpu option, thus it should
match its possible values.


[Bug target/45360] arm: -mhard-float != -mfloat-abi=hard during linking

2014-08-26 Thread yvan.roux at linaro dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45360

Yvan Roux yvan.roux at linaro dot org changed:

   What|Removed |Added

 CC||yvan.roux at linaro dot org

--- Comment #3 from Yvan Roux yvan.roux at linaro dot org ---
This is fixed on trunk, and I guess since Joseph's commit on 4.7.  Do we need
to check that to close the PR ?


[Bug regression/60726] New: [AArch64] pr40074.c regression after intrinsics a53 tuning

2014-04-01 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60726

Bug ID: 60726
   Summary: [AArch64] pr40074.c regression after intrinsics a53
tuning
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: regression
  Assignee: unassigned at gcc dot gnu.org
  Reporter: yvan.roux at linaro dot org

Hi,

there is a regression on aarch64-none-linux-gnu for pr40074.c after
http://gcc.gnu.org/viewcvs/gcc?view=revisionrevision=208910

Passed now fails  [PASS = FAIL]:
  gcc.dg/vect/pr40074.c -flto -ffat-lto-objects execution test
  gcc.dg/vect/pr40074.c execution test


[Bug middle-end/60726] [AArch64] pr40074.c regression after intrinsics a53 tuning

2014-04-01 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60726

--- Comment #2 from Yvan Roux yvan.roux at linaro dot org ---
I don't observe the regression in aarch64-none-elf on my side too. I'm looking
for the configuration...


[Bug middle-end/60726] [AArch64] pr40074.c regression after intrinsics a53 tuning

2014-04-01 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60726

--- Comment #4 from Yvan Roux yvan.roux at linaro dot org ---
I just find the logs from the build farm, and it is indeed a qemu uncaught
signal. Sorry for the false alert !


[Bug rtl-optimization/60650] [ARM] LRA ICE in assign_by_spills

2014-04-01 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

--- Comment #11 from Yvan Roux yvan.roux at linaro dot org ---
Thanks for the analysis Vladimir, let me know if I can help you for the
validation.


[Bug rtl-optimization/60650] [ARM] LRA ICE in assign_by_spills

2014-03-31 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

--- Comment #5 from Yvan Roux yvan.roux at linaro dot org ---
Validation shows that it still fails for arm-none-linux-gnueabihf. I didn't
investigate further yet.


[Bug rtl-optimization/60650] [ARM] LRA ICE in assign_by_spills

2014-03-31 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

--- Comment #7 from Yvan Roux yvan.roux at linaro dot org ---
The same kind of issue is reported on the same build, but with a different set
of options. I'm reducing the testcase (still too big...)


[Bug rtl-optimization/60650] [ARM] LRA ICE in assign_by_spills

2014-03-31 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

--- Comment #8 from Yvan Roux yvan.roux at linaro dot org ---
Created attachment 32500
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32500action=edit
2nd reduced testcase


[Bug rtl-optimization/60650] [ARM] LRA ICE in assign_by_spills

2014-03-31 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

--- Comment #9 from Yvan Roux yvan.roux at linaro dot org ---
the new command line is :

cc1 -O2 -fno-omit-frame-pointer -march=armv7-a  xfs_bmap_util.i


[Bug rtl-optimization/60650] New: [ARM] LRA ICE assign_by_spills

2014-03-25 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

Bug ID: 60650
   Summary: [ARM] LRA ICE assign_by_spills
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: yvan.roux at linaro dot org

reported when building linux btrfs module.

slightly reduced preprocessed test case  attached.

command line : 

cc1 -O2 -fno-omit-frame-pointer -mabi=apcs-gnu -march=armv7-a file-item.i

cc1 outputs :

In file included from /git/arm-soc/fs/btrfs/transaction.h:21:0,
 from /git/arm-soc/fs/btrfs/file-item.c:25:
/git/arm-soc/fs/btrfs/btrfs_inode.h: In function ‘truncate_one_csum’:
/git/arm-soc/fs/btrfs/btrfs_inode.h:214:1: internal compiler error: in
assign_by_spills, at lra-assigns.c:1286
0x9ddf78 assign_by_spills
/work/sources/gcc-fsf/trunk/gcc/lra-assigns.c:1286
0x9de921 lra_assign()
/work/sources/gcc-fsf/trunk/gcc/lra-assigns.c:1444
0x9d865a lra(_IO_FILE*)
/work/sources/gcc-fsf/trunk/gcc/lra.c:2370
0x98669b do_reload
/work/sources/gcc-fsf/trunk/gcc/ira.c:5457
0x9869e4 rest_of_handle_reload
/work/sources/gcc-fsf/trunk/gcc/ira.c:5598
0x986a2e execute
/work/sources/gcc-fsf/trunk/gcc/ira.c:5627

[Bug rtl-optimization/60650] [ARM] LRA ICE in assign_by_spills

2014-03-25 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

--- Comment #1 from Yvan Roux yvan.roux at linaro dot org ---
testcase is to big to be attached... reducing...


[Bug rtl-optimization/60650] [ARM] LRA ICE in assign_by_spills

2014-03-25 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650

--- Comment #2 from Yvan Roux yvan.roux at linaro dot org ---
Created attachment 32449
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32449action=edit
reduced testcase


[Bug middle-end/60482] Loop optimization regression

2014-03-12 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60482

--- Comment #7 from Yvan Roux yvan.roux at linaro dot org ---
Thanks for the quick fix Jakub.


[Bug middle-end/60482] New: Loop optimization regression

2014-03-10 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60482

Bug ID: 60482
   Summary: Loop optimization regression
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
  Assignee: unassigned at gcc dot gnu.org
  Reporter: yvan.roux at linaro dot org

Created attachment 32323
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32323action=edit
trunk.s

Hi,

I didn't had time to investigate further, but I want to raise quickly that the
code bellow was optimized at r204283 by taking into account the trip count
information of the loop and is not with the trunk (I spotted the issue on
AArch64 and x86_64).

code:

typedef double adouble __attribute__ ((__aligned__(16)));

double p1(adouble *x, int n)
{
  double p1_ = 0.0;

  (!(n % 128) == 0) ? __builtin_unreachable() : 1 ;

  for (int i=0; in; i++)
p1_ += x[i] ;
  return p1_ ;
}

compiled with flags : -Ofast -std=c99

x86_64 generated assembly at r204283:

p1:
.LFB0:
.cfi_startproc
testl   %esi, %esi
jle .L5
pxor%xmm1, %xmm1
shrl%esi
xorl%eax, %eax
.L4:
movq%rax, %rdx
addq$1, %rax
salq$4, %rdx
cmpl%eax, %esi
addpd   (%rdi,%rdx), %xmm1
ja  .L4
movapd  %xmm1, %xmm0
unpckhpd%xmm1, %xmm1
addsd   %xmm1, %xmm0
ret
.p2align 4,,10
.p2align 3
.L5:
pxor%xmm0, %xmm0
ret
.cfi_endproc


X86_64 trunk generated assembly is attached.

Thanks,
Yvan


[Bug target/58785] [ARM] LRA issue in Thumb mode with movhi

2014-02-06 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58785

--- Comment #2 from Yvan Roux yvan.roux at linaro dot org ---
Yes, I fixed it at r205581 but the PR reference in the ChangeLog disappeared
between the submission and the commit :(

Yvan


[Bug target/58785] [ARM] LRA issue in Thumb mode with movhi

2014-02-06 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58785

Yvan Roux yvan.roux at linaro dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |FIXED


[Bug target/59573] aarch64: commit 07ca5686e64 broken glibc-2.17

2013-12-23 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59573

Yvan Roux yvan.roux at linaro dot org changed:

   What|Removed |Added

 CC||yvan.roux at linaro dot org

--- Comment #5 from Yvan Roux yvan.roux at linaro dot org ---

 Yes, I've tried with foundation_v8, and not only it extremely slow, but also
 it fails here. compiling gcc in qemu takes 5hours, but takes one week
 (someone told me) in foudation model.
 
 for another simulator, do you have any suggestion?

is the foundation model failing for the same reason here (i.e. not recognizing
the cmeq instruction) ?


[Bug rtl-optimization/59535] [4.9 regression] -Os code size regressions for Thumb1/Thumb2 with LRA

2013-12-18 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59535

--- Comment #8 from Yvan Roux yvan.roux at linaro dot org ---
Forget my previous comment, I can reproduce it after a rebase.


[Bug rtl-optimization/59535] [4.9 regression] -Os code size regressions for Thumb1/Thumb2 with LRA

2013-12-17 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59535

--- Comment #7 from Yvan Roux yvan.roux at linaro dot org ---
I'm not able to reproduce with today's trunk or rev #205887 built for
arm-none-linux-gnueabi, as the compiler ICEs in assign_by_spills
(lra-assign.c). What is your configuration ?


[Bug target/57909] [ARM] ICE with internal memcpy and -mno-unaligned-access

2013-07-17 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57909

--- Comment #3 from Yvan Roux yvan.roux at linaro dot org ---
Validation ends without any regression on ARM targets (armv5, a9, a9hf, a15).


[Bug target/57909] [ARM] ICE with internal memcpy and -mno-unaligned-access

2013-07-17 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57909

Yvan Roux yvan.roux at linaro dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Yvan Roux yvan.roux at linaro dot org ---
Fix committed at rev. 201005


[Bug target/57909] [ARM] ICE with internal memcpy and -mno-unaligned-access

2013-07-17 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57909

--- Comment #6 from Yvan Roux yvan.roux at linaro dot org ---
Nice feature, I'll try to remember it ;)
Thanks


[Bug target/57909] New: [ARM] ICE with internal memcpy and -mno-unaligned-access

2013-07-16 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57909

Bug ID: 57909
   Summary: [ARM] ICE with internal memcpy and
-mno-unaligned-access
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: yvan.roux at linaro dot org

Created attachment 30510
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30510action=edit
reduced test case

compilling the attached reduced test case with the following command line
produces an ICE.

arm-linux-gnueabi-gcc -marm -march=armv7-a -mtune=cortex-a15
-mno-unaligned-access -c -o panic.o panic.i

panic.i: In function 'bug':
panic.i:10:1: error: unrecognizable insn:
 }
 ^
(insn 9 8 10 2 (set (reg:SI 114)
(zero_extend:SI (unspec:HI [
(mem/u/c:HI (reg:SI 113) [0 MEM[(void *)aa]+0 S2 A32])
] UNSPEC_UNALIGNED_LOAD))) panic.i:9 -1
 (nil))
panic.i:10:1: internal compiler error: in extract_insn, at recog.c:2150


[Bug target/57909] [ARM] ICE with internal memcpy and -mno-unaligned-access

2013-07-16 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57909

--- Comment #2 from Yvan Roux yvan.roux at linaro dot org ---
Created attachment 30511
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30511action=edit
a first fix


[Bug target/57909] [ARM] ICE with internal memcpy and -mno-unaligned-access

2013-07-16 Thread yvan.roux at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57909

--- Comment #1 from Yvan Roux yvan.roux at linaro dot org ---
The issue is that an UNSPEC_UNALIGNED_LOAD insn is emitted whereas the flag
-mno-unaligned-access is passed, which implies that this insn is not
recognized.

The generation of the unaligned load is made in the gen_movmem_ldrd_strd
function introduced at rev198970, there is a test that prevent doing calls to
gen_unaligned_loadhiu when unaligned access are not authorized and src and dst
are unaligned, but if they are aligned the call is made. The attached patch
fixes the issue, but is still under validation.


[Bug middle-end/55492] __atomic_load doesn't match ACQUIRE memory model

2012-12-14 Thread yvan.roux at linaro dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55492



--- Comment #8 from Yvan Roux yvan.roux at linaro dot org 2012-12-14 10:14:15 
UTC ---

Hi Richard,



Thanks for having applied and cleaned my patch.



Regarding this cleanup, if we want to be consistant I think we have to remove

the memory model test in expand_atomic_store (see the peace of patch below) as

the atomic_store valid memory model variants are RELAXED, SEQ_CST, and RELEASE

and that expand_mem_thread_fence doesn't emit any barrier in the RELEASE model

case.



Thanks,

Yvan



@@ -7537,8 +7537,7 @@ expand_atomic_store (rtx mem, rtx val, enum memmodel

model, bool use_release)

 }



   /* Otherwise assume stores are atomic, and emit the proper barriers.  */

-  if (model == MEMMODEL_SEQ_CST || model == MEMMODEL_RELEASE)

-expand_mem_thread_fence (model);

+  expand_mem_thread_fence (model);



   emit_move_insn (mem, val);


[Bug target/55492] __atomic_load doesn't match ACQUIRE memory model

2012-11-29 Thread yvan.roux at linaro dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55492



--- Comment #2 from Yvan Roux yvan.roux at linaro dot org 2012-11-29 09:51:41 
UTC ---

Thanks Andrew for the review, I can't commit the patch myself,

can you do it, or have I to post it on the mailing list ?


[Bug target/55492] New: __atomic_load doesn't match ACQUIRE memory model

2012-11-27 Thread yvan.roux at linaro dot org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55492

 Bug #: 55492
   Summary: __atomic_load doesn't match ACQUIRE memory model
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: yvan.r...@linaro.org


Created attachment 28796
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28796
Generic expansion patch proposal

Compiling this code for ARMv7

int v;

int foo()
{
  return __atomic_load_n (v, __ATOMIC_ACQUIRE);
}

generates a data memory barrier defore the load:

foo:
movwr3, #:lower16:v
movtr3, #:upper16:v
dmb sy
ldr r0, [r3, #0]
bx  lr

But, the `Acquire’ semantics imply that no reads in the current thread
dependent on the value currently loaded can be reordered before this load.
Thus, the barrier needs to be after the load and not before.

The issue seems to be in expand_atomic_load which put a memory fence before
the load in any memory model. The attached patch fixes the problem.