[Bug other/90827] New: [Aarch64]rev instruction can't oprate NEON registers.
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.
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
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
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
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
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
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
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
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?