Don't bother checking for NULL pointers in AES key schedule assembly

Some of the AES implementations tried to cleanly check for NULL input
and output pointers, but others did not, so callers could not rely on
this.

(If we end up needing to check this for some reason, we should do it in
the C wrapper.)

Change-Id: I495e5b3689837242b5c51bf01840997845190754
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/68688
Reviewed-by: Bob Beck <bbe@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/crypto/fipsmodule/aes/asm/aesni-x86.pl b/crypto/fipsmodule/aes/asm/aesni-x86.pl
index 7d97adc..bb5ee94 100644
--- a/crypto/fipsmodule/aes/asm/aesni-x86.pl
+++ b/crypto/fipsmodule/aes/asm/aesni-x86.pl
@@ -2122,10 +2122,6 @@
 &function_begin_B("_aesni_set_encrypt_key");
 	&push	("ebp");
 	&push	("ebx");
-	&test	("eax","eax");
-	&jz	(&label("bad_pointer"));
-	&test	($key,$key);
-	&jz	(&label("bad_pointer"));
 
 	&call	(&label("pic"));
 &set_label("pic");
@@ -2474,11 +2470,6 @@
 	&pop	("ebp");
 	&ret	();
 
-&set_label("bad_pointer",4);
-	&mov	("eax",-1);
-	&pop	("ebx");
-	&pop	("ebp");
-	&ret	();
 &set_label("bad_keybits",4);
 	&pxor	("xmm0","xmm0");
 	&mov	("eax",-2);
diff --git a/crypto/fipsmodule/aes/asm/aesni-x86_64.pl b/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
index 6a85862..17ec466 100644
--- a/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
+++ b/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
@@ -3275,12 +3275,6 @@
 .cfi_adjust_cfa_offset	8
 .seh_stackalloc	8
 .seh_endprologue
-	mov	\$-1,%rax
-	test	$inp,$inp
-	jz	.Lenc_key_ret
-	test	$key,$key
-	jz	.Lenc_key_ret
-
 	movups	($inp),%xmm0		# pull first 128 bits of *userKey
 	xorps	%xmm4,%xmm4		# low dword of xmm4 is assumed 0
 	leaq	OPENSSL_ia32cap_P(%rip),%r10
diff --git a/crypto/fipsmodule/aes/asm/aesv8-armx.pl b/crypto/fipsmodule/aes/asm/aesv8-armx.pl
index 9f62232..46b98c9 100644
--- a/crypto/fipsmodule/aes/asm/aesv8-armx.pl
+++ b/crypto/fipsmodule/aes/asm/aesv8-armx.pl
@@ -102,11 +102,6 @@
 	add	x29,sp,#0
 ___
 $code.=<<___;
-	mov	$ptr,#-1
-	cmp	$inp,#0
-	b.eq	.Lenc_key_abort
-	cmp	$out,#0
-	b.eq	.Lenc_key_abort
 	mov	$ptr,#-2
 	cmp	$bits,#128
 	b.lt	.Lenc_key_abort
diff --git a/gen/bcm/aesni-x86-apple.S b/gen/bcm/aesni-x86-apple.S
index 4467604..cee5724 100644
--- a/gen/bcm/aesni-x86-apple.S
+++ b/gen/bcm/aesni-x86-apple.S
@@ -2070,14 +2070,10 @@
 __aesni_set_encrypt_key:
 	pushl	%ebp
 	pushl	%ebx
-	testl	%eax,%eax
-	jz	L093bad_pointer
-	testl	%edx,%edx
-	jz	L093bad_pointer
-	call	L094pic
-L094pic:
+	call	L093pic
+L093pic:
 	popl	%ebx
-	leal	Lkey_const-L094pic(%ebx),%ebx
+	leal	Lkey_const-L093pic(%ebx),%ebx
 	movl	L_OPENSSL_ia32cap_P$non_lazy_ptr-Lkey_const(%ebx),%ebp
 	movups	(%eax),%xmm0
 	xorps	%xmm4,%xmm4
@@ -2085,45 +2081,45 @@
 	leal	16(%edx),%edx
 	andl	$268437504,%ebp
 	cmpl	$256,%ecx
-	je	L09514rounds
+	je	L09414rounds
 	cmpl	$192,%ecx
-	je	L09612rounds
+	je	L09512rounds
 	cmpl	$128,%ecx
-	jne	L097bad_keybits
+	jne	L096bad_keybits
 .align	4,0x90
-L09810rounds:
+L09710rounds:
 	cmpl	$268435456,%ebp
-	je	L09910rounds_alt
+	je	L09810rounds_alt
 	movl	$9,%ecx
 	movups	%xmm0,-16(%edx)
 .byte	102,15,58,223,200,1
-	call	L100key_128_cold
+	call	L099key_128_cold
 .byte	102,15,58,223,200,2
-	call	L101key_128
+	call	L100key_128
 .byte	102,15,58,223,200,4
-	call	L101key_128
+	call	L100key_128
 .byte	102,15,58,223,200,8
-	call	L101key_128
+	call	L100key_128
 .byte	102,15,58,223,200,16
-	call	L101key_128
+	call	L100key_128
 .byte	102,15,58,223,200,32
-	call	L101key_128
+	call	L100key_128
 .byte	102,15,58,223,200,64
-	call	L101key_128
+	call	L100key_128
 .byte	102,15,58,223,200,128
-	call	L101key_128
+	call	L100key_128
 .byte	102,15,58,223,200,27
-	call	L101key_128
+	call	L100key_128
 .byte	102,15,58,223,200,54
-	call	L101key_128
+	call	L100key_128
 	movups	%xmm0,(%edx)
 	movl	%ecx,80(%edx)
-	jmp	L102good_key
+	jmp	L101good_key
 .align	4,0x90
-L101key_128:
+L100key_128:
 	movups	%xmm0,(%edx)
 	leal	16(%edx),%edx
-L100key_128_cold:
+L099key_128_cold:
 	shufps	$16,%xmm0,%xmm4
 	xorps	%xmm4,%xmm0
 	shufps	$140,%xmm0,%xmm4
@@ -2132,13 +2128,13 @@
 	xorps	%xmm1,%xmm0
 	ret
 .align	4,0x90
-L09910rounds_alt:
+L09810rounds_alt:
 	movdqa	(%ebx),%xmm5
 	movl	$8,%ecx
 	movdqa	32(%ebx),%xmm4
 	movdqa	%xmm0,%xmm2
 	movdqu	%xmm0,-16(%edx)
-L103loop_key128:
+L102loop_key128:
 .byte	102,15,56,0,197
 .byte	102,15,56,221,196
 	pslld	$1,%xmm4
@@ -2154,7 +2150,7 @@
 	movdqu	%xmm0,-16(%edx)
 	movdqa	%xmm0,%xmm2
 	decl	%ecx
-	jnz	L103loop_key128
+	jnz	L102loop_key128
 	movdqa	48(%ebx),%xmm4
 .byte	102,15,56,0,197
 .byte	102,15,56,221,196
@@ -2182,41 +2178,41 @@
 	movdqu	%xmm0,16(%edx)
 	movl	$9,%ecx
 	movl	%ecx,96(%edx)
-	jmp	L102good_key
+	jmp	L101good_key
 .align	4,0x90
-L09612rounds:
+L09512rounds:
 	movq	16(%eax),%xmm2
 	cmpl	$268435456,%ebp
-	je	L10412rounds_alt
+	je	L10312rounds_alt
 	movl	$11,%ecx
 	movups	%xmm0,-16(%edx)
 .byte	102,15,58,223,202,1
-	call	L105key_192a_cold
+	call	L104key_192a_cold
 .byte	102,15,58,223,202,2
-	call	L106key_192b
+	call	L105key_192b
 .byte	102,15,58,223,202,4
-	call	L107key_192a
+	call	L106key_192a
 .byte	102,15,58,223,202,8
-	call	L106key_192b
+	call	L105key_192b
 .byte	102,15,58,223,202,16
-	call	L107key_192a
+	call	L106key_192a
 .byte	102,15,58,223,202,32
-	call	L106key_192b
+	call	L105key_192b
 .byte	102,15,58,223,202,64
-	call	L107key_192a
+	call	L106key_192a
 .byte	102,15,58,223,202,128
-	call	L106key_192b
+	call	L105key_192b
 	movups	%xmm0,(%edx)
 	movl	%ecx,48(%edx)
-	jmp	L102good_key
+	jmp	L101good_key
 .align	4,0x90
-L107key_192a:
+L106key_192a:
 	movups	%xmm0,(%edx)
 	leal	16(%edx),%edx
 .align	4,0x90
-L105key_192a_cold:
+L104key_192a_cold:
 	movaps	%xmm2,%xmm5
-L108key_192b_warm:
+L107key_192b_warm:
 	shufps	$16,%xmm0,%xmm4
 	movdqa	%xmm2,%xmm3
 	xorps	%xmm4,%xmm0
@@ -2230,21 +2226,21 @@
 	pxor	%xmm3,%xmm2
 	ret
 .align	4,0x90
-L106key_192b:
+L105key_192b:
 	movaps	%xmm0,%xmm3
 	shufps	$68,%xmm0,%xmm5
 	movups	%xmm5,(%edx)
 	shufps	$78,%xmm2,%xmm3
 	movups	%xmm3,16(%edx)
 	leal	32(%edx),%edx
-	jmp	L108key_192b_warm
+	jmp	L107key_192b_warm
 .align	4,0x90
-L10412rounds_alt:
+L10312rounds_alt:
 	movdqa	16(%ebx),%xmm5
 	movdqa	32(%ebx),%xmm4
 	movl	$8,%ecx
 	movdqu	%xmm0,-16(%edx)
-L109loop_key192:
+L108loop_key192:
 	movq	%xmm2,(%edx)
 	movdqa	%xmm2,%xmm1
 .byte	102,15,56,0,213
@@ -2266,54 +2262,54 @@
 	pxor	%xmm3,%xmm2
 	movdqu	%xmm0,-16(%edx)
 	decl	%ecx
-	jnz	L109loop_key192
+	jnz	L108loop_key192
 	movl	$11,%ecx
 	movl	%ecx,32(%edx)
-	jmp	L102good_key
+	jmp	L101good_key
 .align	4,0x90
-L09514rounds:
+L09414rounds:
 	movups	16(%eax),%xmm2
 	leal	16(%edx),%edx
 	cmpl	$268435456,%ebp
-	je	L11014rounds_alt
+	je	L10914rounds_alt
 	movl	$13,%ecx
 	movups	%xmm0,-32(%edx)
 	movups	%xmm2,-16(%edx)
 .byte	102,15,58,223,202,1
-	call	L111key_256a_cold
+	call	L110key_256a_cold
 .byte	102,15,58,223,200,1
-	call	L112key_256b
+	call	L111key_256b
 .byte	102,15,58,223,202,2
-	call	L113key_256a
+	call	L112key_256a
 .byte	102,15,58,223,200,2
-	call	L112key_256b
+	call	L111key_256b
 .byte	102,15,58,223,202,4
-	call	L113key_256a
+	call	L112key_256a
 .byte	102,15,58,223,200,4
-	call	L112key_256b
+	call	L111key_256b
 .byte	102,15,58,223,202,8
-	call	L113key_256a
+	call	L112key_256a
 .byte	102,15,58,223,200,8
-	call	L112key_256b
+	call	L111key_256b
 .byte	102,15,58,223,202,16
-	call	L113key_256a
+	call	L112key_256a
 .byte	102,15,58,223,200,16
-	call	L112key_256b
+	call	L111key_256b
 .byte	102,15,58,223,202,32
-	call	L113key_256a
+	call	L112key_256a
 .byte	102,15,58,223,200,32
-	call	L112key_256b
+	call	L111key_256b
 .byte	102,15,58,223,202,64
-	call	L113key_256a
+	call	L112key_256a
 	movups	%xmm0,(%edx)
 	movl	%ecx,16(%edx)
 	xorl	%eax,%eax
-	jmp	L102good_key
+	jmp	L101good_key
 .align	4,0x90
-L113key_256a:
+L112key_256a:
 	movups	%xmm2,(%edx)
 	leal	16(%edx),%edx
-L111key_256a_cold:
+L110key_256a_cold:
 	shufps	$16,%xmm0,%xmm4
 	xorps	%xmm4,%xmm0
 	shufps	$140,%xmm0,%xmm4
@@ -2322,7 +2318,7 @@
 	xorps	%xmm1,%xmm0
 	ret
 .align	4,0x90
-L112key_256b:
+L111key_256b:
 	movups	%xmm0,(%edx)
 	leal	16(%edx),%edx
 	shufps	$16,%xmm2,%xmm4
@@ -2333,14 +2329,14 @@
 	xorps	%xmm1,%xmm2
 	ret
 .align	4,0x90
-L11014rounds_alt:
+L10914rounds_alt:
 	movdqa	(%ebx),%xmm5
 	movdqa	32(%ebx),%xmm4
 	movl	$7,%ecx
 	movdqu	%xmm0,-32(%edx)
 	movdqa	%xmm2,%xmm1
 	movdqu	%xmm2,-16(%edx)
-L114loop_key256:
+L113loop_key256:
 .byte	102,15,56,0,213
 .byte	102,15,56,221,212
 	movdqa	%xmm0,%xmm3
@@ -2354,7 +2350,7 @@
 	pxor	%xmm2,%xmm0
 	movdqu	%xmm0,(%edx)
 	decl	%ecx
-	jz	L115done_key256
+	jz	L114done_key256
 	pshufd	$255,%xmm0,%xmm2
 	pxor	%xmm3,%xmm3
 .byte	102,15,56,221,211
@@ -2369,11 +2365,11 @@
 	movdqu	%xmm2,16(%edx)
 	leal	32(%edx),%edx
 	movdqa	%xmm2,%xmm1
-	jmp	L114loop_key256
-L115done_key256:
+	jmp	L113loop_key256
+L114done_key256:
 	movl	$13,%ecx
 	movl	%ecx,16(%edx)
-L102good_key:
+L101good_key:
 	pxor	%xmm0,%xmm0
 	pxor	%xmm1,%xmm1
 	pxor	%xmm2,%xmm2
@@ -2385,13 +2381,7 @@
 	popl	%ebp
 	ret
 .align	2,0x90
-L093bad_pointer:
-	movl	$-1,%eax
-	popl	%ebx
-	popl	%ebp
-	ret
-.align	2,0x90
-L097bad_keybits:
+L096bad_keybits:
 	pxor	%xmm0,%xmm0
 	movl	$-2,%eax
 	popl	%ebx
@@ -2405,10 +2395,10 @@
 #ifdef BORINGSSL_DISPATCH_TEST
 	pushl	%ebx
 	pushl	%edx
-	call	L116pic
-L116pic:
+	call	L115pic
+L115pic:
 	popl	%ebx
-	leal	_BORINGSSL_function_hit+3-L116pic(%ebx),%ebx
+	leal	_BORINGSSL_function_hit+3-L115pic(%ebx),%ebx
 	movl	$1,%edx
 	movb	%dl,(%ebx)
 	popl	%edx
@@ -2431,7 +2421,7 @@
 	movl	12(%esp),%edx
 	shll	$4,%ecx
 	testl	%eax,%eax
-	jnz	L117dec_key_ret
+	jnz	L116dec_key_ret
 	leal	16(%edx,%ecx,1),%eax
 	movups	(%edx),%xmm0
 	movups	(%eax),%xmm1
@@ -2439,7 +2429,7 @@
 	movups	%xmm1,(%edx)
 	leal	16(%edx),%edx
 	leal	-16(%eax),%eax
-L118dec_key_inverse:
+L117dec_key_inverse:
 	movups	(%edx),%xmm0
 	movups	(%eax),%xmm1
 .byte	102,15,56,219,192
@@ -2449,14 +2439,14 @@
 	movups	%xmm0,16(%eax)
 	movups	%xmm1,-16(%edx)
 	cmpl	%edx,%eax
-	ja	L118dec_key_inverse
+	ja	L117dec_key_inverse
 	movups	(%edx),%xmm0
 .byte	102,15,56,219,192
 	movups	%xmm0,(%edx)
 	pxor	%xmm0,%xmm0
 	pxor	%xmm1,%xmm1
 	xorl	%eax,%eax
-L117dec_key_ret:
+L116dec_key_ret:
 	ret
 .align	6,0x90
 Lkey_const:
diff --git a/gen/bcm/aesni-x86-linux.S b/gen/bcm/aesni-x86-linux.S
index 54daf18..dbcded2 100644
--- a/gen/bcm/aesni-x86-linux.S
+++ b/gen/bcm/aesni-x86-linux.S
@@ -2105,14 +2105,10 @@
 _aesni_set_encrypt_key:
 	pushl	%ebp
 	pushl	%ebx
-	testl	%eax,%eax
-	jz	.L093bad_pointer
-	testl	%edx,%edx
-	jz	.L093bad_pointer
-	call	.L094pic
-.L094pic:
+	call	.L093pic
+.L093pic:
 	popl	%ebx
-	leal	.Lkey_const-.L094pic(%ebx),%ebx
+	leal	.Lkey_const-.L093pic(%ebx),%ebx
 	leal	OPENSSL_ia32cap_P-.Lkey_const(%ebx),%ebp
 	movups	(%eax),%xmm0
 	xorps	%xmm4,%xmm4
@@ -2120,45 +2116,45 @@
 	leal	16(%edx),%edx
 	andl	$268437504,%ebp
 	cmpl	$256,%ecx
-	je	.L09514rounds
+	je	.L09414rounds
 	cmpl	$192,%ecx
-	je	.L09612rounds
+	je	.L09512rounds
 	cmpl	$128,%ecx
-	jne	.L097bad_keybits
+	jne	.L096bad_keybits
 .align	16
-.L09810rounds:
+.L09710rounds:
 	cmpl	$268435456,%ebp
-	je	.L09910rounds_alt
+	je	.L09810rounds_alt
 	movl	$9,%ecx
 	movups	%xmm0,-16(%edx)
 .byte	102,15,58,223,200,1
-	call	.L100key_128_cold
+	call	.L099key_128_cold
 .byte	102,15,58,223,200,2
-	call	.L101key_128
+	call	.L100key_128
 .byte	102,15,58,223,200,4
-	call	.L101key_128
+	call	.L100key_128
 .byte	102,15,58,223,200,8
-	call	.L101key_128
+	call	.L100key_128
 .byte	102,15,58,223,200,16
-	call	.L101key_128
+	call	.L100key_128
 .byte	102,15,58,223,200,32
-	call	.L101key_128
+	call	.L100key_128
 .byte	102,15,58,223,200,64
-	call	.L101key_128
+	call	.L100key_128
 .byte	102,15,58,223,200,128
-	call	.L101key_128
+	call	.L100key_128
 .byte	102,15,58,223,200,27
-	call	.L101key_128
+	call	.L100key_128
 .byte	102,15,58,223,200,54
-	call	.L101key_128
+	call	.L100key_128
 	movups	%xmm0,(%edx)
 	movl	%ecx,80(%edx)
-	jmp	.L102good_key
+	jmp	.L101good_key
 .align	16
-.L101key_128:
+.L100key_128:
 	movups	%xmm0,(%edx)
 	leal	16(%edx),%edx
-.L100key_128_cold:
+.L099key_128_cold:
 	shufps	$16,%xmm0,%xmm4
 	xorps	%xmm4,%xmm0
 	shufps	$140,%xmm0,%xmm4
@@ -2167,13 +2163,13 @@
 	xorps	%xmm1,%xmm0
 	ret
 .align	16
-.L09910rounds_alt:
+.L09810rounds_alt:
 	movdqa	(%ebx),%xmm5
 	movl	$8,%ecx
 	movdqa	32(%ebx),%xmm4
 	movdqa	%xmm0,%xmm2
 	movdqu	%xmm0,-16(%edx)
-.L103loop_key128:
+.L102loop_key128:
 .byte	102,15,56,0,197
 .byte	102,15,56,221,196
 	pslld	$1,%xmm4
@@ -2189,7 +2185,7 @@
 	movdqu	%xmm0,-16(%edx)
 	movdqa	%xmm0,%xmm2
 	decl	%ecx
-	jnz	.L103loop_key128
+	jnz	.L102loop_key128
 	movdqa	48(%ebx),%xmm4
 .byte	102,15,56,0,197
 .byte	102,15,56,221,196
@@ -2217,41 +2213,41 @@
 	movdqu	%xmm0,16(%edx)
 	movl	$9,%ecx
 	movl	%ecx,96(%edx)
-	jmp	.L102good_key
+	jmp	.L101good_key
 .align	16
-.L09612rounds:
+.L09512rounds:
 	movq	16(%eax),%xmm2
 	cmpl	$268435456,%ebp
-	je	.L10412rounds_alt
+	je	.L10312rounds_alt
 	movl	$11,%ecx
 	movups	%xmm0,-16(%edx)
 .byte	102,15,58,223,202,1
-	call	.L105key_192a_cold
+	call	.L104key_192a_cold
 .byte	102,15,58,223,202,2
-	call	.L106key_192b
+	call	.L105key_192b
 .byte	102,15,58,223,202,4
-	call	.L107key_192a
+	call	.L106key_192a
 .byte	102,15,58,223,202,8
-	call	.L106key_192b
+	call	.L105key_192b
 .byte	102,15,58,223,202,16
-	call	.L107key_192a
+	call	.L106key_192a
 .byte	102,15,58,223,202,32
-	call	.L106key_192b
+	call	.L105key_192b
 .byte	102,15,58,223,202,64
-	call	.L107key_192a
+	call	.L106key_192a
 .byte	102,15,58,223,202,128
-	call	.L106key_192b
+	call	.L105key_192b
 	movups	%xmm0,(%edx)
 	movl	%ecx,48(%edx)
-	jmp	.L102good_key
+	jmp	.L101good_key
 .align	16
-.L107key_192a:
+.L106key_192a:
 	movups	%xmm0,(%edx)
 	leal	16(%edx),%edx
 .align	16
-.L105key_192a_cold:
+.L104key_192a_cold:
 	movaps	%xmm2,%xmm5
-.L108key_192b_warm:
+.L107key_192b_warm:
 	shufps	$16,%xmm0,%xmm4
 	movdqa	%xmm2,%xmm3
 	xorps	%xmm4,%xmm0
@@ -2265,21 +2261,21 @@
 	pxor	%xmm3,%xmm2
 	ret
 .align	16
-.L106key_192b:
+.L105key_192b:
 	movaps	%xmm0,%xmm3
 	shufps	$68,%xmm0,%xmm5
 	movups	%xmm5,(%edx)
 	shufps	$78,%xmm2,%xmm3
 	movups	%xmm3,16(%edx)
 	leal	32(%edx),%edx
-	jmp	.L108key_192b_warm
+	jmp	.L107key_192b_warm
 .align	16
-.L10412rounds_alt:
+.L10312rounds_alt:
 	movdqa	16(%ebx),%xmm5
 	movdqa	32(%ebx),%xmm4
 	movl	$8,%ecx
 	movdqu	%xmm0,-16(%edx)
-.L109loop_key192:
+.L108loop_key192:
 	movq	%xmm2,(%edx)
 	movdqa	%xmm2,%xmm1
 .byte	102,15,56,0,213
@@ -2301,54 +2297,54 @@
 	pxor	%xmm3,%xmm2
 	movdqu	%xmm0,-16(%edx)
 	decl	%ecx
-	jnz	.L109loop_key192
+	jnz	.L108loop_key192
 	movl	$11,%ecx
 	movl	%ecx,32(%edx)
-	jmp	.L102good_key
+	jmp	.L101good_key
 .align	16
-.L09514rounds:
+.L09414rounds:
 	movups	16(%eax),%xmm2
 	leal	16(%edx),%edx
 	cmpl	$268435456,%ebp
-	je	.L11014rounds_alt
+	je	.L10914rounds_alt
 	movl	$13,%ecx
 	movups	%xmm0,-32(%edx)
 	movups	%xmm2,-16(%edx)
 .byte	102,15,58,223,202,1
-	call	.L111key_256a_cold
+	call	.L110key_256a_cold
 .byte	102,15,58,223,200,1
-	call	.L112key_256b
+	call	.L111key_256b
 .byte	102,15,58,223,202,2
-	call	.L113key_256a
+	call	.L112key_256a
 .byte	102,15,58,223,200,2
-	call	.L112key_256b
+	call	.L111key_256b
 .byte	102,15,58,223,202,4
-	call	.L113key_256a
+	call	.L112key_256a
 .byte	102,15,58,223,200,4
-	call	.L112key_256b
+	call	.L111key_256b
 .byte	102,15,58,223,202,8
-	call	.L113key_256a
+	call	.L112key_256a
 .byte	102,15,58,223,200,8
-	call	.L112key_256b
+	call	.L111key_256b
 .byte	102,15,58,223,202,16
-	call	.L113key_256a
+	call	.L112key_256a
 .byte	102,15,58,223,200,16
-	call	.L112key_256b
+	call	.L111key_256b
 .byte	102,15,58,223,202,32
-	call	.L113key_256a
+	call	.L112key_256a
 .byte	102,15,58,223,200,32
-	call	.L112key_256b
+	call	.L111key_256b
 .byte	102,15,58,223,202,64
-	call	.L113key_256a
+	call	.L112key_256a
 	movups	%xmm0,(%edx)
 	movl	%ecx,16(%edx)
 	xorl	%eax,%eax
-	jmp	.L102good_key
+	jmp	.L101good_key
 .align	16
-.L113key_256a:
+.L112key_256a:
 	movups	%xmm2,(%edx)
 	leal	16(%edx),%edx
-.L111key_256a_cold:
+.L110key_256a_cold:
 	shufps	$16,%xmm0,%xmm4
 	xorps	%xmm4,%xmm0
 	shufps	$140,%xmm0,%xmm4
@@ -2357,7 +2353,7 @@
 	xorps	%xmm1,%xmm0
 	ret
 .align	16
-.L112key_256b:
+.L111key_256b:
 	movups	%xmm0,(%edx)
 	leal	16(%edx),%edx
 	shufps	$16,%xmm2,%xmm4
@@ -2368,14 +2364,14 @@
 	xorps	%xmm1,%xmm2
 	ret
 .align	16
-.L11014rounds_alt:
+.L10914rounds_alt:
 	movdqa	(%ebx),%xmm5
 	movdqa	32(%ebx),%xmm4
 	movl	$7,%ecx
 	movdqu	%xmm0,-32(%edx)
 	movdqa	%xmm2,%xmm1
 	movdqu	%xmm2,-16(%edx)
-.L114loop_key256:
+.L113loop_key256:
 .byte	102,15,56,0,213
 .byte	102,15,56,221,212
 	movdqa	%xmm0,%xmm3
@@ -2389,7 +2385,7 @@
 	pxor	%xmm2,%xmm0
 	movdqu	%xmm0,(%edx)
 	decl	%ecx
-	jz	.L115done_key256
+	jz	.L114done_key256
 	pshufd	$255,%xmm0,%xmm2
 	pxor	%xmm3,%xmm3
 .byte	102,15,56,221,211
@@ -2404,11 +2400,11 @@
 	movdqu	%xmm2,16(%edx)
 	leal	32(%edx),%edx
 	movdqa	%xmm2,%xmm1
-	jmp	.L114loop_key256
-.L115done_key256:
+	jmp	.L113loop_key256
+.L114done_key256:
 	movl	$13,%ecx
 	movl	%ecx,16(%edx)
-.L102good_key:
+.L101good_key:
 	pxor	%xmm0,%xmm0
 	pxor	%xmm1,%xmm1
 	pxor	%xmm2,%xmm2
@@ -2420,13 +2416,7 @@
 	popl	%ebp
 	ret
 .align	4
-.L093bad_pointer:
-	movl	$-1,%eax
-	popl	%ebx
-	popl	%ebp
-	ret
-.align	4
-.L097bad_keybits:
+.L096bad_keybits:
 	pxor	%xmm0,%xmm0
 	movl	$-2,%eax
 	popl	%ebx
@@ -2442,10 +2432,10 @@
 #ifdef BORINGSSL_DISPATCH_TEST
 	pushl	%ebx
 	pushl	%edx
-	call	.L116pic
-.L116pic:
+	call	.L115pic
+.L115pic:
 	popl	%ebx
-	leal	BORINGSSL_function_hit+3-.L116pic(%ebx),%ebx
+	leal	BORINGSSL_function_hit+3-.L115pic(%ebx),%ebx
 	movl	$1,%edx
 	movb	%dl,(%ebx)
 	popl	%edx
@@ -2470,7 +2460,7 @@
 	movl	12(%esp),%edx
 	shll	$4,%ecx
 	testl	%eax,%eax
-	jnz	.L117dec_key_ret
+	jnz	.L116dec_key_ret
 	leal	16(%edx,%ecx,1),%eax
 	movups	(%edx),%xmm0
 	movups	(%eax),%xmm1
@@ -2478,7 +2468,7 @@
 	movups	%xmm1,(%edx)
 	leal	16(%edx),%edx
 	leal	-16(%eax),%eax
-.L118dec_key_inverse:
+.L117dec_key_inverse:
 	movups	(%edx),%xmm0
 	movups	(%eax),%xmm1
 .byte	102,15,56,219,192
@@ -2488,14 +2478,14 @@
 	movups	%xmm0,16(%eax)
 	movups	%xmm1,-16(%edx)
 	cmpl	%edx,%eax
-	ja	.L118dec_key_inverse
+	ja	.L117dec_key_inverse
 	movups	(%edx),%xmm0
 .byte	102,15,56,219,192
 	movups	%xmm0,(%edx)
 	pxor	%xmm0,%xmm0
 	pxor	%xmm1,%xmm1
 	xorl	%eax,%eax
-.L117dec_key_ret:
+.L116dec_key_ret:
 	ret
 .size	aes_hw_set_decrypt_key,.-.L_aes_hw_set_decrypt_key_begin
 .align	64
diff --git a/gen/bcm/aesni-x86-win.asm b/gen/bcm/aesni-x86-win.asm
index 19b1d98..ce95d23 100644
--- a/gen/bcm/aesni-x86-win.asm
+++ b/gen/bcm/aesni-x86-win.asm
@@ -2062,14 +2062,10 @@
 __aesni_set_encrypt_key:
 	push	ebp
 	push	ebx
-	test	eax,eax
-	jz	NEAR L$093bad_pointer
-	test	edx,edx
-	jz	NEAR L$093bad_pointer
-	call	L$094pic
-L$094pic:
+	call	L$093pic
+L$093pic:
 	pop	ebx
-	lea	ebx,[(L$key_const-L$094pic)+ebx]
+	lea	ebx,[(L$key_const-L$093pic)+ebx]
 	lea	ebp,[_OPENSSL_ia32cap_P]
 	movups	xmm0,[eax]
 	xorps	xmm4,xmm4
@@ -2077,45 +2073,45 @@
 	lea	edx,[16+edx]
 	and	ebp,268437504
 	cmp	ecx,256
-	je	NEAR L$09514rounds
+	je	NEAR L$09414rounds
 	cmp	ecx,192
-	je	NEAR L$09612rounds
+	je	NEAR L$09512rounds
 	cmp	ecx,128
-	jne	NEAR L$097bad_keybits
+	jne	NEAR L$096bad_keybits
 align	16
-L$09810rounds:
+L$09710rounds:
 	cmp	ebp,268435456
-	je	NEAR L$09910rounds_alt
+	je	NEAR L$09810rounds_alt
 	mov	ecx,9
 	movups	[edx-16],xmm0
 db	102,15,58,223,200,1
-	call	L$100key_128_cold
+	call	L$099key_128_cold
 db	102,15,58,223,200,2
-	call	L$101key_128
+	call	L$100key_128
 db	102,15,58,223,200,4
-	call	L$101key_128
+	call	L$100key_128
 db	102,15,58,223,200,8
-	call	L$101key_128
+	call	L$100key_128
 db	102,15,58,223,200,16
-	call	L$101key_128
+	call	L$100key_128
 db	102,15,58,223,200,32
-	call	L$101key_128
+	call	L$100key_128
 db	102,15,58,223,200,64
-	call	L$101key_128
+	call	L$100key_128
 db	102,15,58,223,200,128
-	call	L$101key_128
+	call	L$100key_128
 db	102,15,58,223,200,27
-	call	L$101key_128
+	call	L$100key_128
 db	102,15,58,223,200,54
-	call	L$101key_128
+	call	L$100key_128
 	movups	[edx],xmm0
 	mov	DWORD [80+edx],ecx
-	jmp	NEAR L$102good_key
+	jmp	NEAR L$101good_key
 align	16
-L$101key_128:
+L$100key_128:
 	movups	[edx],xmm0
 	lea	edx,[16+edx]
-L$100key_128_cold:
+L$099key_128_cold:
 	shufps	xmm4,xmm0,16
 	xorps	xmm0,xmm4
 	shufps	xmm4,xmm0,140
@@ -2124,13 +2120,13 @@
 	xorps	xmm0,xmm1
 	ret
 align	16
-L$09910rounds_alt:
+L$09810rounds_alt:
 	movdqa	xmm5,[ebx]
 	mov	ecx,8
 	movdqa	xmm4,[32+ebx]
 	movdqa	xmm2,xmm0
 	movdqu	[edx-16],xmm0
-L$103loop_key128:
+L$102loop_key128:
 db	102,15,56,0,197
 db	102,15,56,221,196
 	pslld	xmm4,1
@@ -2146,7 +2142,7 @@
 	movdqu	[edx-16],xmm0
 	movdqa	xmm2,xmm0
 	dec	ecx
-	jnz	NEAR L$103loop_key128
+	jnz	NEAR L$102loop_key128
 	movdqa	xmm4,[48+ebx]
 db	102,15,56,0,197
 db	102,15,56,221,196
@@ -2174,41 +2170,41 @@
 	movdqu	[16+edx],xmm0
 	mov	ecx,9
 	mov	DWORD [96+edx],ecx
-	jmp	NEAR L$102good_key
+	jmp	NEAR L$101good_key
 align	16
-L$09612rounds:
+L$09512rounds:
 	movq	xmm2,[16+eax]
 	cmp	ebp,268435456
-	je	NEAR L$10412rounds_alt
+	je	NEAR L$10312rounds_alt
 	mov	ecx,11
 	movups	[edx-16],xmm0
 db	102,15,58,223,202,1
-	call	L$105key_192a_cold
+	call	L$104key_192a_cold
 db	102,15,58,223,202,2
-	call	L$106key_192b
+	call	L$105key_192b
 db	102,15,58,223,202,4
-	call	L$107key_192a
+	call	L$106key_192a
 db	102,15,58,223,202,8
-	call	L$106key_192b
+	call	L$105key_192b
 db	102,15,58,223,202,16
-	call	L$107key_192a
+	call	L$106key_192a
 db	102,15,58,223,202,32
-	call	L$106key_192b
+	call	L$105key_192b
 db	102,15,58,223,202,64
-	call	L$107key_192a
+	call	L$106key_192a
 db	102,15,58,223,202,128
-	call	L$106key_192b
+	call	L$105key_192b
 	movups	[edx],xmm0
 	mov	DWORD [48+edx],ecx
-	jmp	NEAR L$102good_key
+	jmp	NEAR L$101good_key
 align	16
-L$107key_192a:
+L$106key_192a:
 	movups	[edx],xmm0
 	lea	edx,[16+edx]
 align	16
-L$105key_192a_cold:
+L$104key_192a_cold:
 	movaps	xmm5,xmm2
-L$108key_192b_warm:
+L$107key_192b_warm:
 	shufps	xmm4,xmm0,16
 	movdqa	xmm3,xmm2
 	xorps	xmm0,xmm4
@@ -2222,21 +2218,21 @@
 	pxor	xmm2,xmm3
 	ret
 align	16
-L$106key_192b:
+L$105key_192b:
 	movaps	xmm3,xmm0
 	shufps	xmm5,xmm0,68
 	movups	[edx],xmm5
 	shufps	xmm3,xmm2,78
 	movups	[16+edx],xmm3
 	lea	edx,[32+edx]
-	jmp	NEAR L$108key_192b_warm
+	jmp	NEAR L$107key_192b_warm
 align	16
-L$10412rounds_alt:
+L$10312rounds_alt:
 	movdqa	xmm5,[16+ebx]
 	movdqa	xmm4,[32+ebx]
 	mov	ecx,8
 	movdqu	[edx-16],xmm0
-L$109loop_key192:
+L$108loop_key192:
 	movq	[edx],xmm2
 	movdqa	xmm1,xmm2
 db	102,15,56,0,213
@@ -2258,54 +2254,54 @@
 	pxor	xmm2,xmm3
 	movdqu	[edx-16],xmm0
 	dec	ecx
-	jnz	NEAR L$109loop_key192
+	jnz	NEAR L$108loop_key192
 	mov	ecx,11
 	mov	DWORD [32+edx],ecx
-	jmp	NEAR L$102good_key
+	jmp	NEAR L$101good_key
 align	16
-L$09514rounds:
+L$09414rounds:
 	movups	xmm2,[16+eax]
 	lea	edx,[16+edx]
 	cmp	ebp,268435456
-	je	NEAR L$11014rounds_alt
+	je	NEAR L$10914rounds_alt
 	mov	ecx,13
 	movups	[edx-32],xmm0
 	movups	[edx-16],xmm2
 db	102,15,58,223,202,1
-	call	L$111key_256a_cold
+	call	L$110key_256a_cold
 db	102,15,58,223,200,1
-	call	L$112key_256b
+	call	L$111key_256b
 db	102,15,58,223,202,2
-	call	L$113key_256a
+	call	L$112key_256a
 db	102,15,58,223,200,2
-	call	L$112key_256b
+	call	L$111key_256b
 db	102,15,58,223,202,4
-	call	L$113key_256a
+	call	L$112key_256a
 db	102,15,58,223,200,4
-	call	L$112key_256b
+	call	L$111key_256b
 db	102,15,58,223,202,8
-	call	L$113key_256a
+	call	L$112key_256a
 db	102,15,58,223,200,8
-	call	L$112key_256b
+	call	L$111key_256b
 db	102,15,58,223,202,16
-	call	L$113key_256a
+	call	L$112key_256a
 db	102,15,58,223,200,16
-	call	L$112key_256b
+	call	L$111key_256b
 db	102,15,58,223,202,32
-	call	L$113key_256a
+	call	L$112key_256a
 db	102,15,58,223,200,32
-	call	L$112key_256b
+	call	L$111key_256b
 db	102,15,58,223,202,64
-	call	L$113key_256a
+	call	L$112key_256a
 	movups	[edx],xmm0
 	mov	DWORD [16+edx],ecx
 	xor	eax,eax
-	jmp	NEAR L$102good_key
+	jmp	NEAR L$101good_key
 align	16
-L$113key_256a:
+L$112key_256a:
 	movups	[edx],xmm2
 	lea	edx,[16+edx]
-L$111key_256a_cold:
+L$110key_256a_cold:
 	shufps	xmm4,xmm0,16
 	xorps	xmm0,xmm4
 	shufps	xmm4,xmm0,140
@@ -2314,7 +2310,7 @@
 	xorps	xmm0,xmm1
 	ret
 align	16
-L$112key_256b:
+L$111key_256b:
 	movups	[edx],xmm0
 	lea	edx,[16+edx]
 	shufps	xmm4,xmm2,16
@@ -2325,14 +2321,14 @@
 	xorps	xmm2,xmm1
 	ret
 align	16
-L$11014rounds_alt:
+L$10914rounds_alt:
 	movdqa	xmm5,[ebx]
 	movdqa	xmm4,[32+ebx]
 	mov	ecx,7
 	movdqu	[edx-32],xmm0
 	movdqa	xmm1,xmm2
 	movdqu	[edx-16],xmm2
-L$114loop_key256:
+L$113loop_key256:
 db	102,15,56,0,213
 db	102,15,56,221,212
 	movdqa	xmm3,xmm0
@@ -2346,7 +2342,7 @@
 	pxor	xmm0,xmm2
 	movdqu	[edx],xmm0
 	dec	ecx
-	jz	NEAR L$115done_key256
+	jz	NEAR L$114done_key256
 	pshufd	xmm2,xmm0,255
 	pxor	xmm3,xmm3
 db	102,15,56,221,211
@@ -2361,11 +2357,11 @@
 	movdqu	[16+edx],xmm2
 	lea	edx,[32+edx]
 	movdqa	xmm1,xmm2
-	jmp	NEAR L$114loop_key256
-L$115done_key256:
+	jmp	NEAR L$113loop_key256
+L$114done_key256:
 	mov	ecx,13
 	mov	DWORD [16+edx],ecx
-L$102good_key:
+L$101good_key:
 	pxor	xmm0,xmm0
 	pxor	xmm1,xmm1
 	pxor	xmm2,xmm2
@@ -2377,13 +2373,7 @@
 	pop	ebp
 	ret
 align	4
-L$093bad_pointer:
-	mov	eax,-1
-	pop	ebx
-	pop	ebp
-	ret
-align	4
-L$097bad_keybits:
+L$096bad_keybits:
 	pxor	xmm0,xmm0
 	mov	eax,-2
 	pop	ebx
@@ -2396,10 +2386,10 @@
 %ifdef BORINGSSL_DISPATCH_TEST
 	push	ebx
 	push	edx
-	call	L$116pic
-L$116pic:
+	call	L$115pic
+L$115pic:
 	pop	ebx
-	lea	ebx,[(_BORINGSSL_function_hit+3-L$116pic)+ebx]
+	lea	ebx,[(_BORINGSSL_function_hit+3-L$115pic)+ebx]
 	mov	edx,1
 	mov	BYTE [ebx],dl
 	pop	edx
@@ -2421,7 +2411,7 @@
 	mov	edx,DWORD [12+esp]
 	shl	ecx,4
 	test	eax,eax
-	jnz	NEAR L$117dec_key_ret
+	jnz	NEAR L$116dec_key_ret
 	lea	eax,[16+ecx*1+edx]
 	movups	xmm0,[edx]
 	movups	xmm1,[eax]
@@ -2429,7 +2419,7 @@
 	movups	[edx],xmm1
 	lea	edx,[16+edx]
 	lea	eax,[eax-16]
-L$118dec_key_inverse:
+L$117dec_key_inverse:
 	movups	xmm0,[edx]
 	movups	xmm1,[eax]
 db	102,15,56,219,192
@@ -2439,14 +2429,14 @@
 	movups	[16+eax],xmm0
 	movups	[edx-16],xmm1
 	cmp	eax,edx
-	ja	NEAR L$118dec_key_inverse
+	ja	NEAR L$117dec_key_inverse
 	movups	xmm0,[edx]
 db	102,15,56,219,192
 	movups	[edx],xmm0
 	pxor	xmm0,xmm0
 	pxor	xmm1,xmm1
 	xor	eax,eax
-L$117dec_key_ret:
+L$116dec_key_ret:
 	ret
 align	64
 L$key_const:
diff --git a/gen/bcm/aesni-x86_64-apple.S b/gen/bcm/aesni-x86_64-apple.S
index c5c862d..48d3cfc 100644
--- a/gen/bcm/aesni-x86_64-apple.S
+++ b/gen/bcm/aesni-x86_64-apple.S
@@ -1970,12 +1970,6 @@
 
 
 
-	movq	$-1,%rax
-	testq	%rdi,%rdi
-	jz	L$enc_key_ret
-	testq	%rdx,%rdx
-	jz	L$enc_key_ret
-
 	movups	(%rdi),%xmm0
 	xorps	%xmm4,%xmm4
 	leaq	_OPENSSL_ia32cap_P(%rip),%r10
diff --git a/gen/bcm/aesni-x86_64-linux.S b/gen/bcm/aesni-x86_64-linux.S
index 87c1a13..fdbb28e 100644
--- a/gen/bcm/aesni-x86_64-linux.S
+++ b/gen/bcm/aesni-x86_64-linux.S
@@ -1972,12 +1972,6 @@
 .cfi_adjust_cfa_offset	8
 
 
-	movq	$-1,%rax
-	testq	%rdi,%rdi
-	jz	.Lenc_key_ret
-	testq	%rdx,%rdx
-	jz	.Lenc_key_ret
-
 	movups	(%rdi),%xmm0
 	xorps	%xmm4,%xmm4
 	leaq	OPENSSL_ia32cap_P(%rip),%r10
diff --git a/gen/bcm/aesni-x86_64-win.asm b/gen/bcm/aesni-x86_64-win.asm
index 9e12312..6a14422 100644
--- a/gen/bcm/aesni-x86_64-win.asm
+++ b/gen/bcm/aesni-x86_64-win.asm
@@ -2075,12 +2075,6 @@
 
 $L$SEH_prologue_aes_hw_set_encrypt_key_2:
 $L$SEH_endprologue_aes_hw_set_encrypt_key_3:
-	mov	rax,-1
-	test	rcx,rcx
-	jz	NEAR $L$enc_key_ret
-	test	r8,r8
-	jz	NEAR $L$enc_key_ret
-
 	movups	xmm0,XMMWORD[rcx]
 	xorps	xmm4,xmm4
 	lea	r10,[OPENSSL_ia32cap_P]
diff --git a/gen/bcm/aesv8-armv7-linux.S b/gen/bcm/aesv8-armv7-linux.S
index 420af9b..97d56c7 100644
--- a/gen/bcm/aesv8-armv7-linux.S
+++ b/gen/bcm/aesv8-armv7-linux.S
@@ -26,11 +26,6 @@
 .align	5
 aes_hw_set_encrypt_key:
 .Lenc_key:
-	mov	r3,#-1
-	cmp	r0,#0
-	beq	.Lenc_key_abort
-	cmp	r2,#0
-	beq	.Lenc_key_abort
 	mov	r3,#-2
 	cmp	r1,#128
 	blt	.Lenc_key_abort
diff --git a/gen/bcm/aesv8-armv8-apple.S b/gen/bcm/aesv8-armv8-apple.S
index 144c4af..ef64244 100644
--- a/gen/bcm/aesv8-armv8-apple.S
+++ b/gen/bcm/aesv8-armv8-apple.S
@@ -28,11 +28,6 @@
 	AARCH64_VALID_CALL_TARGET
 	stp	x29,x30,[sp,#-16]!
 	add	x29,sp,#0
-	mov	x3,#-1
-	cmp	x0,#0
-	b.eq	Lenc_key_abort
-	cmp	x2,#0
-	b.eq	Lenc_key_abort
 	mov	x3,#-2
 	cmp	w1,#128
 	b.lt	Lenc_key_abort
diff --git a/gen/bcm/aesv8-armv8-linux.S b/gen/bcm/aesv8-armv8-linux.S
index 7d4bcb4..23d78f2 100644
--- a/gen/bcm/aesv8-armv8-linux.S
+++ b/gen/bcm/aesv8-armv8-linux.S
@@ -28,11 +28,6 @@
 	AARCH64_VALID_CALL_TARGET
 	stp	x29,x30,[sp,#-16]!
 	add	x29,sp,#0
-	mov	x3,#-1
-	cmp	x0,#0
-	b.eq	.Lenc_key_abort
-	cmp	x2,#0
-	b.eq	.Lenc_key_abort
 	mov	x3,#-2
 	cmp	w1,#128
 	b.lt	.Lenc_key_abort
diff --git a/gen/bcm/aesv8-armv8-win.S b/gen/bcm/aesv8-armv8-win.S
index a3ab33a..48bf2fd 100644
--- a/gen/bcm/aesv8-armv8-win.S
+++ b/gen/bcm/aesv8-armv8-win.S
@@ -30,11 +30,6 @@
 	AARCH64_VALID_CALL_TARGET
 	stp	x29,x30,[sp,#-16]!
 	add	x29,sp,#0
-	mov	x3,#-1
-	cmp	x0,#0
-	b.eq	Lenc_key_abort
-	cmp	x2,#0
-	b.eq	Lenc_key_abort
 	mov	x3,#-2
 	cmp	w1,#128
 	b.lt	Lenc_key_abort