This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, i386]: Remove sse{,2} effective target check from compile-time tests

On Fri, Jul 23, 2010 at 8:33 AM, Uros Bizjak <> wrote:
> On Fri, Jul 23, 2010 at 5:25 PM, H.J. Lu <> wrote:
>>>>> a)
>>>>> These tests are protected by sse{,2,...,n} and avx effective targets.
>>>>> These effective targets tests check if the whole toolchain is able to
>>>>> compile the test, but the real hardware/OS support will be checked by
>>>>> the executable itself and will terminate early on targets that can't
>>>>> execute all instructions. The benefit for this approach can be seen
>>>>> for i.e. AVX tests. Using recent enough binutils, even if the hardware
>>>>> can not support the execution, the test _can_ be compiled all the way
>>>>> to the executable, so toolchain can be tested as far as possible.
>>>> If there is no hardware/OS support, do we still run those run-time tests
>>>> or just skip them?
>>> We run them.
>> 2 issues if we still run those tests when there is no hardware/OS support:
>> 1. Each test needs t do a run-time check. I don't see why we
>> need the new proc to check hardware/OS support.
>> 2. Passing those tests doesn't mean implementation is correct,
>> encoding could be wrong or wrong instructions could be
>> generated.
> These are IMO acceptable compromises with the rationale I outlined in
> my previous post. If you have better implementation, please provide
> patches, so we can discuss concrete benefits and drawbacks of your
> approach.

First we have to decide when there is no hardware/OS support,
do we want to run the run-time tests. If the answer is yes,
we can use my first AVX run-time check patch is at

and add more run-time check if needed.

If we don't want to run the run-time tests when there is
no hardware/OS support, then we should start with:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]