On 10/10/2013 07:27 AM, Kirill Yukhin wrote: > Currently, from HW point of view, there're no CPUs which > feature AVX-512, but not AVX2. So, I believe we may put > a `TODO` in comment, like this: > > +;; CPUID bit AVX512F enables evex encoded scalar and 512-bit fma. It doesn't > +;; care about FMA bit, so we enable fma for TARGET_AVX512F even when > TARGET_FMA > +;; and TARGET_FMA4 are both false. > +;; TODO: if (AVX512F && !FMA && (we don't use regnos in 16..31 range) then > for > +;; scalar FMA we'll got VEX encoded variant. We need somewhat improve > +;; GAS to allow forcing of EVEX encoding and then force it here. > > Do you think it is acceptable? >
A TODO should be sufficient. But I'd word it a bit differently: ;; TODO: In theory AVX512F does not automatically imply FMA, and without FMA ;; one must force the EVEX encoding of the fma insns. Ideally we'd improve ;; GAS to allow proper prefix selection. However, for the moment all hardware ;; that supports AVX512F also supports FMA so we can ignore this for now. Ok with that change. r~