mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	Fix AVX512BW Fletcher code on AVX512-but-not-BW machines
Introduce a specific valid function for avx512f+avx512bw (instead of checking only for avx512f). Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Adam Moss <c@yotes.com> Signed-off-by: Romain Dolbeau <romain@dolbeau.org> Closes #11937 Closes #11938
This commit is contained in:
		
							parent
							
								
									3c7ad493a6
								
							
						
					
					
						commit
						9a68ceba10
					
				| @ -210,6 +210,12 @@ fletcher_4_avx512bw_byteswap(fletcher_4_ctx_t *ctx, const void *buf, | |||||||
| } | } | ||||||
| STACK_FRAME_NON_STANDARD(fletcher_4_avx512bw_byteswap); | STACK_FRAME_NON_STANDARD(fletcher_4_avx512bw_byteswap); | ||||||
| 
 | 
 | ||||||
|  | static boolean_t | ||||||
|  | fletcher_4_avx512bw_valid(void) | ||||||
|  | { | ||||||
|  | 	return (fletcher_4_avx512f_valid() && zfs_avx512bw_available()); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| const fletcher_4_ops_t fletcher_4_avx512bw_ops = { | const fletcher_4_ops_t fletcher_4_avx512bw_ops = { | ||||||
| 	.init_native = fletcher_4_avx512f_init, | 	.init_native = fletcher_4_avx512f_init, | ||||||
| 	.fini_native = fletcher_4_avx512f_fini, | 	.fini_native = fletcher_4_avx512f_fini, | ||||||
| @ -217,7 +223,7 @@ const fletcher_4_ops_t fletcher_4_avx512bw_ops = { | |||||||
| 	.init_byteswap = fletcher_4_avx512f_init, | 	.init_byteswap = fletcher_4_avx512f_init, | ||||||
| 	.fini_byteswap = fletcher_4_avx512f_fini, | 	.fini_byteswap = fletcher_4_avx512f_fini, | ||||||
| 	.compute_byteswap = fletcher_4_avx512bw_byteswap, | 	.compute_byteswap = fletcher_4_avx512bw_byteswap, | ||||||
| 	.valid = fletcher_4_avx512f_valid, | 	.valid = fletcher_4_avx512bw_valid, | ||||||
| 	.name = "avx512bw" | 	.name = "avx512bw" | ||||||
| }; | }; | ||||||
| #endif | #endif | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Romain Dolbeau
						Romain Dolbeau