Re: [RFC PATCH v2] Add VMAC(AES) to Linux for intel_txt support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Aug 15, 2009 at 12:48:31AM +0800, Shane Wang wrote:
>
> +/* x86_64 or amd64 */
> +#if (__GNUC__ && (__x86_64__ || __amd64__))
> +
> +#define ADD128(rh, rl, ih, il)						\
> +	asm ("addq %3, %1 \n\t"						\
> +	"adcq %2, %0"							\
> +	: "+r"(rh), "+r"(rl)						\
> +	: "r"(ih), "r"(il) : "cc")
> +
> +#define MUL64(rh, rl, i1, i2)						\
> +    asm ("mulq %3" : "=a"(rl), "=d"(rh) : "a"(i1), "r"(i2) : "cc")
> +
> +#define PMUL64 MUL64

You should not put assembly code in generic header/C files.

In this case, you may not even need them as gcc is capable of
optimising

int bar(u64, u64);
int foo(u64 a, u64 b, u64 c, u64 d)
{
        u64 e;

        b += d;
        e = a + c;
        if (e < a)
                b++;
        return bar(e, b);
}

to

foo:
.LFB2:
        addq    %rdx, %rdi
        adcq    %rcx, %rsi
        jmp     bar

If you really need the assembly, then you should add them as
arch-specific implementations of VMAC, just like AES-x86-64.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux