From owner-p4-projects@FreeBSD.ORG Sun Nov 30 04:22:28 2014 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 072414C9; Sun, 30 Nov 2014 04:22:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B30954C7 for ; Sun, 30 Nov 2014 04:22:27 +0000 (UTC) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:1900:2254:2068::682:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9F1E1A7 for ; Sun, 30 Nov 2014 04:22:27 +0000 (UTC) Received: from skunkworks.freebsd.org ([127.0.1.74]) by skunkworks.freebsd.org (8.14.9/8.14.9) with ESMTP id sAU4MRcj020089 for ; Sun, 30 Nov 2014 04:22:27 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.9/8.14.9/Submit) id sAU4MRBw020086 for perforce@freebsd.org; Sun, 30 Nov 2014 04:22:27 GMT (envelope-from jmg@freebsd.org) Date: Sun, 30 Nov 2014 04:22:27 GMT Message-Id: <201411300422.sAU4MRBw020086@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney Subject: PERFORCE change 1203363 for review To: Perforce Change Reviews Precedence: bulk X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.18-1 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Nov 2014 04:22:28 -0000 http://p4web.freebsd.org/@@1203363?ac=10 Change 1203363 by jmg@jmg_carbon2 on 2014/11/30 04:21:33 remove debugging printf... anyways, causes a compile error on other archs... Sponsored by: FreeBSD Foundation Sponsored by: Netgate Affected files ... .. //depot/projects/opencrypto/sys/opencrypto/cryptodev.c#12 edit Differences ... ==== //depot/projects/opencrypto/sys/opencrypto/cryptodev.c#12 (text+ko) ==== @@ -956,7 +956,6 @@ if (caead->iv) { if (caead->ivlen > sizeof cse->tmp_iv) { error = EINVAL; - printf("a: %d, b: %lu\n", caead->ivlen, sizeof cse->tmp_iv); goto bail; } From owner-p4-projects@FreeBSD.ORG Mon Dec 1 17:11:28 2014 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C2611745; Mon, 1 Dec 2014 17:11:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 83BD7743 for ; Mon, 1 Dec 2014 17:11:28 +0000 (UTC) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:1900:2254:2068::682:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 701B8B2F for ; Mon, 1 Dec 2014 17:11:28 +0000 (UTC) Received: from skunkworks.freebsd.org ([127.0.1.74]) by skunkworks.freebsd.org (8.14.9/8.14.9) with ESMTP id sB1HBSPf004017 for ; Mon, 1 Dec 2014 17:11:28 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.9/8.14.9/Submit) id sB1HBSZJ004014 for perforce@freebsd.org; Mon, 1 Dec 2014 17:11:28 GMT (envelope-from jmg@freebsd.org) Date: Mon, 1 Dec 2014 17:11:28 GMT Message-Id: <201412011711.sB1HBSZJ004014@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney Subject: PERFORCE change 1203404 for review To: Perforce Change Reviews Precedence: bulk X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.18-1 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Dec 2014 17:11:29 -0000 http://p4web.freebsd.org/@@1203404?ac=10 Change 1203404 by jmg@jmg_carbon2 on 2014/12/01 17:11:19 I think clang removed SSE4 being enabled when AES is enabled for some reason... Sponsored by: FreeBSD Foundation Sponsored by: Netgate Affected files ... .. //depot/projects/opencrypto/sys/conf/files.amd64#9 edit .. //depot/projects/opencrypto/sys/conf/files.i386#10 edit Differences ... ==== //depot/projects/opencrypto/sys/conf/files.amd64#9 (text+ko) ==== @@ -136,7 +136,7 @@ clean "aesni_ghash.o" aesni_wrap.o optional aesni \ dependency "$S/crypto/aesni/aesni_wrap.c" \ - compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc} ${WERROR} ${PROF} -mmmx -msse -maes ${.IMPSRC}" \ + compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc} ${WERROR} ${PROF} -mmmx -msse -msse4 -maes ${.IMPSRC}" \ no-implicit-rule \ clean "aesni_wrap.o" crypto/blowfish/bf_enc.c optional crypto | ipsec ==== //depot/projects/opencrypto/sys/conf/files.i386#10 (text+ko) ==== @@ -123,7 +123,7 @@ clean "aesni_ghash.o" aesni_wrap.o optional aesni \ dependency "$S/crypto/aesni/aesni_wrap.c" \ - compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc} ${WERROR} ${PROF} -mmmx -msse -maes ${.IMPSRC}" \ + compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc} ${WERROR} ${PROF} -mmmx -msse -msse4 -maes ${.IMPSRC}" \ no-implicit-rule \ clean "aesni_wrap.o" crypto/des/arch/i386/des_enc.S optional crypto | ipsec | netsmb From owner-p4-projects@FreeBSD.ORG Thu Dec 4 00:30:38 2014 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 05B7EC6A; Thu, 4 Dec 2014 00:30:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BABEEC68 for ; Thu, 4 Dec 2014 00:30:37 +0000 (UTC) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:1900:2254:2068::682:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A6E936C4 for ; Thu, 4 Dec 2014 00:30:37 +0000 (UTC) Received: from skunkworks.freebsd.org ([127.0.1.74]) by skunkworks.freebsd.org (8.14.9/8.14.9) with ESMTP id sB40Uboj061853 for ; Thu, 4 Dec 2014 00:30:37 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.9/8.14.9/Submit) id sB40UbBD061850 for perforce@freebsd.org; Thu, 4 Dec 2014 00:30:37 GMT (envelope-from jmg@freebsd.org) Date: Thu, 4 Dec 2014 00:30:37 GMT Message-Id: <201412040030.sB40UbBD061850@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney Subject: PERFORCE change 1203489 for review To: Perforce Change Reviews Precedence: bulk X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.18-1 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Dec 2014 00:30:38 -0000 http://p4web.freebsd.org/@@1203489?ac=10 Change 1203489 by jmg@jmg_carbon2 on 2014/12/04 00:30:34 add an emulation of _mm_insert_epi64 for i386... Why they didn't add an pinsrdq which could only load from memory or something similar is beyond me... This gets things compiling and working on i386 again... Sponsored by: FreeBSD Foundation Sponsored by: Netgate Affected files ... .. //depot/projects/opencrypto/sys/crypto/aesni/aesni_ghash.c#6 edit Differences ... ==== //depot/projects/opencrypto/sys/crypto/aesni/aesni_ghash.c#6 (text+ko) ==== @@ -85,6 +85,23 @@ return _mm_movemask_epi8(cmp) == 0xffff; } +#ifdef __i386__ +static inline __m128i +_mm_insert_epi64(__m128i a, int64_t b, const int ndx) +{ + + if (!ndx) { + a = _mm_insert_epi32(a, b, 0); + a = _mm_insert_epi32(a, b >> 32, 1); + } else { + a = _mm_insert_epi32(a, b, 2); + a = _mm_insert_epi32(a, b >> 32, 3); + } + + return a; +} +#endif + /* some code from carry-less-multiplication-instruction-in-gcm-mode-paper.pdf */ /* Figure 5. Code Sample - Performing Ghash Using Algorithms 1 and 5 (C) */ From owner-p4-projects@FreeBSD.ORG Thu Dec 4 00:33:41 2014 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 70724D88; Thu, 4 Dec 2014 00:33:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 316C8D86 for ; Thu, 4 Dec 2014 00:33:41 +0000 (UTC) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:1900:2254:2068::682:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1DEAC7C6 for ; Thu, 4 Dec 2014 00:33:41 +0000 (UTC) Received: from skunkworks.freebsd.org ([127.0.1.74]) by skunkworks.freebsd.org (8.14.9/8.14.9) with ESMTP id sB40Xewp063219 for ; Thu, 4 Dec 2014 00:33:40 GMT (envelope-from jmg@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.9/8.14.9/Submit) id sB40Xe0n063216 for perforce@freebsd.org; Thu, 4 Dec 2014 00:33:40 GMT (envelope-from jmg@freebsd.org) Date: Thu, 4 Dec 2014 00:33:40 GMT Message-Id: <201412040033.sB40Xe0n063216@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to jmg@freebsd.org using -f From: John-Mark Gurney Subject: PERFORCE change 1203490 for review To: Perforce Change Reviews Precedence: bulk X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.18-1 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Dec 2014 00:33:41 -0000 http://p4web.freebsd.org/@@1203490?ac=10 Change 1203490 by jmg@jmg_carbon2 on 2014/12/04 00:33:16 forgot in previous commit.. it could have been written more simply, but clang and gcc really want a constant for the index in _mm_insert_XXX, if not, you might get some other strange code... Even though something like: _mm_insert_XXX(a, b, !!ndx) would result in exactly the same range of args and everything, clang will compile, but to code not using pinsrd... In our case, we didn't have this problem, but incase someone pulls my code for some reason, they'll get reasonable code... Affected files ... .. //depot/projects/opencrypto/sys/crypto/aesni/aesni_ghash.c#7 edit Differences ... ==== //depot/projects/opencrypto/sys/crypto/aesni/aesni_ghash.c#7 (text+ko) ====