[Bug other/90827] New: [Aarch64]rev instruction can't oprate NEON registers.

2019-06-10 Thread leimaohui at cn dot fujitsu.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90827

Bug ID: 90827
   Summary: [Aarch64]rev instruction can't oprate NEON registers.
   Product: gcc
   Version: 8.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: leimaohui at cn dot fujitsu.com
  Target Milestone: ---

When I want to operate NEON register by rev instruction for aarch64, there is
an  error as following:
--
Error: operand 1 must be an integer register -- `rev v31.16b,v31.16b'
--
But if use rev64 to replace rev, the error will disappear. 
But reference to 

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0801h/lyc1476202750282.html,
"rev" is an alias of "rev64". Is it a bug of gcc?

[Bug other/90827] [Aarch64]rev instruction can't oprate NEON registers.

2019-06-11 Thread leimaohui at cn dot fujitsu.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90827

--- Comment #2 from leimaohui  ---
(In reply to Andrew Pinski from comment #1)
> >"rev" is an alias of "rev64".
> 
> It is the other way around.  rev64 is an optional alias to rev (for
> intereger registers).  rev only takes integer registers.  rev64 takes both
> vector and integer registers (though it is optional in ARMv8.0-a and
> ARMv8.1-a modes that it does the integer registers).
> 
> By the way the assembler is not part of GCC but rather part of GNU binutils
> project.

I got it, thank you!

[Bug target/63908] [e500v2] "float_bessel"case failed on e500v2 platforms

2015-01-13 Thread leimaohui at cn dot fujitsu.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63908

--- Comment #9 from leimaohui  ---
(In reply to jos...@codesourcery.com from comment #8)
> Olivier Hainque referred to having a 4.9 version of his patch, I suggest 
> you ask him.

Will these patches be backported to gcc 4.9.3 ?


[Bug target/63908] New: [e500v2] "float_bessel"case failed on e500v2 platforms

2014-11-17 Thread leimaohui at cn dot fujitsu.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63908

Bug ID: 63908
   Summary: [e500v2] "float_bessel"case failed on e500v2 platforms
   Product: gcc
   Version: 4.9.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: leimaohui at cn dot fujitsu.com

I used yocto 1.7 to make a rootfs and toolchain.And then test LTP.

gcc :4.9.1
kernel :3.4.74
LTP version: 20120903

Some cases failed in powerpc e500v2. But these cases are PASS in i586 and
armv7.

'float_bessel' is one of the failed cases. The log likes below:
###
float_bessel1  TPASS  :  Test passed
float_bessel0  TINFO  :  float_bessel: will run for 500 loops; using . as a
data directory
float_bessel0  TINFO  :  float_bessel: will run 5 functions, 20 threads per
function
float_bessel0  TINFO  :  signal handler 1216373856 started
float_bessel0  TINFO  :  Signal handler starts waiting...
float_bessel0  TINFO  :  initial thread: Waiting for 100 threads to finish
sh: line 1: 12822 Aborted float_bessel -v
###
In addition,'float_exp_log','float_iperb','float_power'and 'float_trigo' are
failed and have the similar phenomenon.

Steps:
##
1. root@localhost:~# cd /opt/ltp/
2. root@localhost:/opt/ltp# ./runltp -s float_bessel
##

Is there anybody give me some suggestions?


[Bug target/63908] [e500v2] "float_bessel"case failed on e500v2 platforms

2014-11-17 Thread leimaohui at cn dot fujitsu.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63908

--- Comment #1 from leimaohui  ---
I changed the gcc from 4.9.1 to 4.9.2 in yocto,and tested these cases.
The results are the same.

But when I changed the gcc to 4.8.2,the results of these cases are PASS.


[Bug target/63908] [e500v2] "float_bessel"case failed on e500v2 platforms

2014-11-28 Thread leimaohui at cn dot fujitsu.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63908

--- Comment #3 from leimaohui  ---
Thanks for joseph's reply.

But I found the reason is the founction "pthread_exit(0)" can't execut
normally。
Because it will lead a SIGABRT signal and aborted .

I wrote a test program and make a test.The enviroment is below:

rootfs: 
http://downloads.yoctoproject.org/releases/yocto/yocto-1.7/machines/p1022ds/core-image-sato-sdk-p1022ds-20141018182842.rootfs.tar.gz

toolchain:
http://downloads.yoctoproject.org/releases/yocto/yocto-1.7/toolchain/x86_64/poky-glibc-x86_64-core-image-sato-ppce500v2-toolchain-1.7.sh

kernel: 3.14 and 3.4.74 have the same appearance

hostOS: RHEL 6.3

Below is my test program


[root@RHEL6U3 pthread-test]# cat pthread-test.c
#include 
#include 
#include 

pthread_t   tid1, tid2;
void*tret;

void *
thr_fn1(void *arg)
{
sleep(1);

printf("it's thread 1 \n");
pthread_exit(0);

//pthread_join(tid2, &tret);
}

int
main(void)
{
int err;

err = pthread_create(&tid1, NULL, thr_fn1, NULL);
if (err != 0)
printf("can't create thread 1\n");

printf("I will join thread 1... 1\n");
err = pthread_join(tid1, &tret);
if (err != 0)
printf("can't join with thread 1\n");

printf("thread 1 exit code %d\n", (int)tret);
}
[root@RHEL6U3 pthread-test]#.
/opt/poky/1.7/environment-setup-ppce500v2-poky-linux-gnuspe
[root@RHEL6U3 pthread-test]# ${CC} pthread-test.c -lpthread -o pthread-test


And then execut "pthread-test" in e500v2.The result is like below


root@p1022ds:/root# strace -f -o pthread-test.log ./pthread-test
I will join thread 1... 1
it's thread 1
Aborted
root@p1022ds:/root# cat pthread-test.log
...
1009  futex(0xfa999ac, FUTEX_WAKE_PRIVATE, 2147483647) = 0
1009  rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
1009  tgkill(1008, 1009, SIGABRT)   = 0
1009  --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=1008, si_uid=0}
---
1009  +++ killed by SIGABRT +++
1008  +++ killed by SIGABRT +++
root@p1022ds:/root# 
root@p1022ds:/root# 

But I dont't know the root cause. That's the gcc 's bug or the glibc's bug?

[Bug target/63908] [e500v2] "float_bessel"case failed on e500v2 platforms

2014-12-10 Thread leimaohui at cn dot fujitsu.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63908

--- Comment #5 from leimaohui  ---
Thanks,these patches do work.

I used gcc(master:7a542b16e34cfb40fe37fab74a119e80a1a55587) to do a test likes
below:

kernel : 3.14.19
ltp:20120903

| test |with these patches|remove these patches|
|sem02's result| PASS |FAIL|

I want to backport these patches to 4.9.1,but Iwas failed。
There are too many differents between 4.9.1 and the master.

Can you give some help?

And I want to know when will these patches be backported to 4.9 branch.

[Bug target/63908] [e500v2] "float_bessel"case failed on e500v2 platforms

2014-12-16 Thread leimaohui at cn dot fujitsu.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63908

--- Comment #6 from leimaohui  ---
Created attachment 34294
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34294&action=edit
the patch backport to gcc 4.9.1


[Bug target/63908] [e500v2] "float_bessel"case failed on e500v2 platforms

2014-12-16 Thread leimaohui at cn dot fujitsu.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63908

leimaohui  changed:

   What|Removed |Added

 Target||e500v2

--- Comment #7 from leimaohui  ---
(In reply to leimaohui from comment #6)
> Created attachment 34294 [details]
> the patch backport to gcc 4.9.1

I tried to backport these patches to gcc4.9.1(about the packport,please see the
attachments).
But build error appeared as following.
-
powerpc-poky-linux-gnuspe-gcc  -m32 -mcpu=8548 -mabi=spe -mspe
-mfloat-gprs=double
--sysroot=/poky-build-powerpc-p1020-gcc-4.9.1/tmp/sysroots/ubinux-p1020rdb -O2
-pipe -g -feliminate-unused-debug-types -fstack-protector-all
-D_FORTIFY_SOURCE=2 -O2  -O2 -pipe -g -feliminate-unused-debug-types
-fstack-protector-all -D_FORTIFY_SOURCE=2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE
 -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include   -fPIC -mlong-double-128
-mno-minimal-toc -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector
-Dinhibit_libc  -fPIC -mlong-double-128 -mno-minimal-toc -I. -I.
-I/poky-build-powerpc-p1020-gcc-4.9.1/tmp/work/ppce500v2-poky-linux-gnuspe/libgcc-initial/4.9.1-r0/gcc-4.9.1/build.powerpc-poky-linux-gnuspe.powerpc-poky-linux-gnuspe/powerpc-poky-linux-gnuspe/libgcc/../.././gcc
-I/poky-build-powerpc-p1020-gcc-4.9.1/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc
-I/poky-build-powerpc-p1020-gcc-4.9.1/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/.
-I/poky-build-powerpc-p1020-gcc-4.9.1/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/../gcc
-I/poky-build-powerpc-p1020-gcc-4.9.1/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/../include
 -DHAVE_CC_TLS  -o _addvdi3.o -MT _addvdi3.o -MD -MP -MF _addvdi3.dep
-DL_addvdi3 -c
/poky-build-powerpc-p1020-gcc-4.9.1/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/libgcc2.c
-fvisibility=hidden -DHIDE_EXPORTS
/poky-build-powerpc-p1020-gcc-4.9.1/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/unwind-dw2.c:
In function 'uw_init_context_1':
/poky-build-powerpc-p1020-gcc-4.9.1/tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/libgcc/unwind-dw2.c:1593:1:
internal compiler error: Segmentation fault
 }
 ^
-
I don't know if there is more work I have to do.

Can you give me some suggestions?