Test failures with 3.4.1

Hello,

Trying the 3.4.1 branch, I get following tests failing:
    LLVM :: CodeGen/X86/2009-06-05-VZextByteShort.ll
    LLVM :: CodeGen/X86/fma4-intrinsics-x86_64.ll
    LLVM :: CodeGen/X86/fp-fast.ll
    LLVM :: CodeGen/X86/vec_shift4.ll
    LLVM :: CodeGen/X86/vshift-4.ll

I am testing on a Debian testing 64b.
Does it ring a bell?

Sylvestre

Hello,

Trying the 3.4.1 branch, I get following tests failing:
    LLVM :: CodeGen/X86/2009-06-05-VZextByteShort.ll
    LLVM :: CodeGen/X86/fma4-intrinsics-x86_64.ll
    LLVM :: CodeGen/X86/fp-fast.ll
    LLVM :: CodeGen/X86/vec_shift4.ll
    LLVM :: CodeGen/X86/vshift-4.ll

I am testing on a Debian testing 64b.
Does it ring a bell?

Can anyone else reproduce this? These tests pass for me on 64-bit
Fedora. Sylvestre, are you able to post the output from these failing
tests?

Thanks,
Tom

Sure. Sorry for not doing that sooner.

I don't think they are related to any of the patches I apply in the
packages:

FAIL: LLVM :: CodeGen/X86/2009-06-05-VZextByteShort.ll (3502 of 9333)
******************** TEST 'LLVM ::
CodeGen/X86/2009-06-05-VZextByteShort.ll' FAILED ********************
Script:

Hi Sylvestre,

I think you are missing revision 195971.
https://llvm.org/viewvc/llvm-project?view=revision&revision=195971
That revision changed some tests (all the tests that are failing for
you) introducing a specific -mcpu flag to constraint the instruction
selection.

For example, test vec_shift4.ll has been modified by r195971
introducing flag '-mcpu=corei7'.
In your case, test vec_shift4.ll fails because it finds an unexpected
' vpsllvd' instead of 'pslld'. ' vpsllvd' is AVX2 (which might imply
that your host is probably AVX2).

In conclusion, in my opinion if you integrate r195971 then all the
failures should disappear.

Cheers,
Andrea

Hi Sylvestre,

I think you are missing revision 195971.
https://llvm.org/viewvc/llvm-project?view=revision&revision=195971
That revision changed some tests (all the tests that are failing for
you) introducing a specific -mcpu flag to constraint the instruction
selection.

For example, test vec_shift4.ll has been modified by r195971
introducing flag '-mcpu=corei7'.
In your case, test vec_shift4.ll fails because it finds an unexpected
' vpsllvd' instead of 'pslld'. ' vpsllvd' is AVX2 (which might imply
that your host is probably AVX2).

In conclusion, in my opinion if you integrate r195971 then all the
failures should disappear.

Thanks for tracking this down, I can backport this patch to the 3.4
branch.

-Tom

FWIW, these sorts of failures are exactly the sort of thing I’m hoping to prevent via making CPU auto detection in LLC opt-in rather than the default. They’re simple to fix, but often horrible to diagnose.

-Jim