diff --git a/crypto/fipsmodule/aes/asm/aesni-x86_64.pl b/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
index 437fd3a..b608425 100644
--- a/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
+++ b/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
@@ -978,7 +978,7 @@
 # does not update *ivec! Nor does it finalize CMAC value
 # (see engine/eng_aesni.c for details)
 #
-{
+if (0) {  # Omit these functions in BoringSSL
 my $cmac="%r9";	# 6th argument
 
 my $increment="%xmm9";
@@ -1770,7 +1770,7 @@
 #	const AES_KEY *key1, const AES_KEY *key2
 #	const unsigned char iv[16]);
 #
-{
+if (0) {  # Omit these functions in BoringSSL
 my @tweak=map("%xmm$_",(10..15));
 my ($twmask,$twres,$twtmp)=("%xmm8","%xmm9",@tweak[4]);
 my ($key2,$ivp,$len_)=("%r8","%r9","%r9");
@@ -2776,7 +2776,7 @@
 #	unsigned char offset_i[16], const unsigned char L_[][16],
 #	unsigned char checksum[16]);
 #
-{
+if (0) {  # Omit these functions in BoringSSL
 my @offset=map("%xmm$_",(10..15));
 my ($checksum,$rndkey0l)=("%xmm8","%xmm9");
 my ($block_num,$offset_p)=("%r8","%r9");		# 5th and 6th arguments
@@ -4854,6 +4854,9 @@
 	jmp	.Lcommon_seh_tail
 .size	ctr_xts_se_handler,.-ctr_xts_se_handler
 
+___
+# BoringSSL omits the OCB functions.
+$code.=<<___ if (0);
 .type	ocb_se_handler,\@abi-omnipotent
 .align	16
 ocb_se_handler:
@@ -5005,33 +5008,9 @@
 	.rva	.LSEH_end_${PREFIX}_ecb_encrypt
 	.rva	.LSEH_info_ecb
 
-	.rva	.LSEH_begin_${PREFIX}_ccm64_encrypt_blocks
-	.rva	.LSEH_end_${PREFIX}_ccm64_encrypt_blocks
-	.rva	.LSEH_info_ccm64_enc
-
-	.rva	.LSEH_begin_${PREFIX}_ccm64_decrypt_blocks
-	.rva	.LSEH_end_${PREFIX}_ccm64_decrypt_blocks
-	.rva	.LSEH_info_ccm64_dec
-
 	.rva	.LSEH_begin_${PREFIX}_ctr32_encrypt_blocks
 	.rva	.LSEH_end_${PREFIX}_ctr32_encrypt_blocks
 	.rva	.LSEH_info_ctr32
-
-	.rva	.LSEH_begin_${PREFIX}_xts_encrypt
-	.rva	.LSEH_end_${PREFIX}_xts_encrypt
-	.rva	.LSEH_info_xts_enc
-
-	.rva	.LSEH_begin_${PREFIX}_xts_decrypt
-	.rva	.LSEH_end_${PREFIX}_xts_decrypt
-	.rva	.LSEH_info_xts_dec
-
-	.rva	.LSEH_begin_${PREFIX}_ocb_encrypt
-	.rva	.LSEH_end_${PREFIX}_ocb_encrypt
-	.rva	.LSEH_info_ocb_enc
-
-	.rva	.LSEH_begin_${PREFIX}_ocb_decrypt
-	.rva	.LSEH_end_${PREFIX}_ocb_decrypt
-	.rva	.LSEH_info_ocb_dec
 ___
 $code.=<<___;
 	.rva	.LSEH_begin_${PREFIX}_cbc_encrypt
@@ -5053,38 +5032,10 @@
 	.byte	9,0,0,0
 	.rva	ecb_ccm64_se_handler
 	.rva	.Lecb_enc_body,.Lecb_enc_ret		# HandlerData[]
-.LSEH_info_ccm64_enc:
-	.byte	9,0,0,0
-	.rva	ecb_ccm64_se_handler
-	.rva	.Lccm64_enc_body,.Lccm64_enc_ret	# HandlerData[]
-.LSEH_info_ccm64_dec:
-	.byte	9,0,0,0
-	.rva	ecb_ccm64_se_handler
-	.rva	.Lccm64_dec_body,.Lccm64_dec_ret	# HandlerData[]
 .LSEH_info_ctr32:
 	.byte	9,0,0,0
 	.rva	ctr_xts_se_handler
 	.rva	.Lctr32_body,.Lctr32_epilogue		# HandlerData[]
-.LSEH_info_xts_enc:
-	.byte	9,0,0,0
-	.rva	ctr_xts_se_handler
-	.rva	.Lxts_enc_body,.Lxts_enc_epilogue	# HandlerData[]
-.LSEH_info_xts_dec:
-	.byte	9,0,0,0
-	.rva	ctr_xts_se_handler
-	.rva	.Lxts_dec_body,.Lxts_dec_epilogue	# HandlerData[]
-.LSEH_info_ocb_enc:
-	.byte	9,0,0,0
-	.rva	ocb_se_handler
-	.rva	.Locb_enc_body,.Locb_enc_epilogue	# HandlerData[]
-	.rva	.Locb_enc_pop
-	.long	0
-.LSEH_info_ocb_dec:
-	.byte	9,0,0,0
-	.rva	ocb_se_handler
-	.rva	.Locb_dec_body,.Locb_dec_epilogue	# HandlerData[]
-	.rva	.Locb_dec_pop
-	.long	0
 ___
 $code.=<<___;
 .LSEH_info_cbc:
