1/* 2 * Copyright (c) 2000-2018 Apple Inc. All rights reserved. 3 * 4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. The rights granted to you under the License 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 14 * 15 * Please obtain a copy of the License at 16 * http://www.opensource.apple.com/apsl/ and read it before using this file. 17 * 18 * The Original Code and all software distributed under the License are 19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 23 * Please see the License for the specific language governing rights and 24 * limitations under the License. 25 * 26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 27 * Created 2018 Derek Kumar 28 */ 29#include <i386/asm.h> 30 31.macro VPX 32 vpxord $0, $0, $0 33.endmacro 34 35.macro PX 36 pxor $0, $0 37.endmacro 38 39Entry(vzeroall) 40 vzeroall 41 ret 42 43Entry(avx512_zero) 44 vzeroall 45 46 VPX %zmm16 47 VPX %zmm17 48 VPX %zmm18 49 VPX %zmm19 50 51 VPX %zmm20 52 VPX %zmm21 53 VPX %zmm22 54 VPX %zmm23 55 56 VPX %zmm24 57 VPX %zmm25 58 VPX %zmm26 59 VPX %zmm27 60 61 VPX %zmm28 62 VPX %zmm29 63 VPX %zmm30 64 VPX %zmm31 65 66 xor %eax, %eax 67 kmovw %eax, %k1 68 ret 69 70Entry(xmmzeroall) 71 PX %xmm0 72 PX %xmm1 73 PX %xmm2 74 PX %xmm3 75 76 PX %xmm4 77 PX %xmm5 78 PX %xmm6 79 PX %xmm7 80 81 PX %xmm8 82 PX %xmm9 83 PX %xmm10 84 PX %xmm11 85 86 PX %xmm12 87 PX %xmm13 88 PX %xmm14 89 PX %xmm15 90 91 ret 92