Closed tkoenig1 closed 1 year ago
Just starting to run compiler-generated code through the assembler. Still tons of missing pieces and bugs, but one thing got flagged as an error (reduced from Perl):
$ cat attributes.i void Perl_xs_boot_epilog(); void boot_attributes() { Perl_xs_boot_epilog(); Perl_xs_boot_epilog(); } $ cat extract_exit.sh set -e a=attributes b=${a}_opt clang -Werror -fverbose-asm -c --target=my66000 -O3 -fno-vectorize -fno-slp-vectorize -emit-llvm -fno-unroll-loops -fomit-frame-pointer $a.i || exit 1 opt -disable-loop-unrolling -O3 --march=my66000 --frame-pointer=none --enable-vvm $a.bc > $b.bc || exit 2 llc -O2 -enable-remove-range-check --disable-lsr --enable-predication --enable-predication2 --enable-carry-generation --early-carry-coalesce --enable-vvm -march=my66000 $b.bc || exit 3 grep "exit.*r[0-9]*,r[0-9]*,5," $b.s asdf@flaemmli:~/PERL/EXIT$ ./extract_exit.sh exit r0,r0,5,0
If I read the documentation correctly, the flags can only have values from 0 to 3.
Ah, I missed in the documentation that this now exists.
Closing.
Just starting to run compiler-generated code through the assembler. Still tons of missing pieces and bugs, but one thing got flagged as an error (reduced from Perl):
If I read the documentation correctly, the flags can only have values from 0 to 3.