Github Actions uses Xeon Platinum CPU, that in particular implements these instructions: avx512f avx512dq avx512cd avx512bw avx512vl.
I think some of them are not implemented on T2 instances, which causes SIGILL.
What is not clear to me is why it happens, since libff uses XBYAK JIT assembler that to my understanding should generate correct instructions depending on the CPU.
At SKALE we use libff for BLS signatures
https://github.com/skalenetwork/libBLS
we recently upgraded libff to the version that implements BLS384. After that, binaries compiled on Github Actions started to fail on AWS T2.
We reverted to an older version of libff,
https://github.com/scipr-lab/libff/commit/03b719a7c81757071f99fc60be1f7f7694e51390
Then SIGILL disappeared.
Github Actions uses Xeon Platinum CPU, that in particular implements these instructions: avx512f avx512dq avx512cd avx512bw avx512vl.
I think some of them are not implemented on T2 instances, which causes SIGILL.
What is not clear to me is why it happens, since libff uses XBYAK JIT assembler that to my understanding should generate correct instructions depending on the CPU.