1/* 2 * This file and its contents are supplied under the terms of the 3 * Common Development and Distribution License ("CDDL"), version 1.0. 4 * You may only use this file in accordance with the terms of version 5 * 1.0 of the CDDL. 6 * 7 * A full copy of the text of the CDDL should have accompanied this 8 * source. A copy of the CDDL is also available via the Internet at 9 * http://www.illumos.org/license/CDDL. 10 */ 11 12/* 13 * Copyright 2016 Joyent, Inc. 14 */ 15 16/* 17 * Test SSE 4.2 related instructions 18 */ 19 20.text 21.align 16 22.globl libdis_test 23.type libdis_test, @function 24libdis_test: 25 blendpd $0x42, %xmm0, %xmm1 26 blendpd $0x42, (%ebx), %xmm1 27 blendps $0x42, %xmm0, %xmm1 28 blendps $0x42, (%ebx), %xmm1 29 blendvpd %xmm1, %xmm2 30 blendvpd (%ebx), %xmm2 31 blendvpd 0x42(%ebx), %xmm2 32 blendvps %xmm1, %xmm2 33 blendvps (%ebx), %xmm2 34 blendvps 0x42(%ebx), %xmm2 35 dppd $0x42, %xmm0, %xmm1 36 dppd $0x42, (%ebx), %xmm1 37 dpps $0x42, %xmm0, %xmm1 38 dpps $0x42, (%ebx), %xmm1 39 extractps $0x23, %xmm6, %ebx 40 extractps $0x23, %xmm6, (%ebx) 41 insertps $0x23, %xmm1, %xmm2 42 insertps $0x23, (%ebx), %xmm2 43 insertps $0x23, 0x42(%ebx), %xmm2 44 movntdqa (%ebx), %xmm0 45 mpsadbw $0x23, %xmm1, %xmm2 46 mpsadbw $0x23, (%ebx), %xmm2 47 mpsadbw $0x23, 0x42(%ebx), %xmm2 48 packusdw %xmm1, %xmm2 49 packusdw (%ebx), %xmm2 50 packusdw 0x42(%ebx), %xmm2 51 pblendvb %xmm1, %xmm2 52 pblendvb (%ebx), %xmm2 53 pblendvb 0x42(%ebx), %xmm2 54 pblendw $0x23, %xmm1, %xmm2 55 pblendw $0x23, (%ebx), %xmm2 56 pblendw $0x23, 0x42(%ebx), %xmm2 57 pcmpeqq %xmm1, %xmm2 58 pcmpeqq (%ebx), %xmm2 59 pcmpeqq 0x42(%ebx), %xmm2 60 pextrb $0x23, %xmm4, %edx 61 pextrb $0x23, %xmm4, (%edx) 62 pextrd $0x23, %xmm4, %edx 63 pextrd $0x23, %xmm4, (%edx) 64 pextrw $0x23, %xmm4, %edx 65 pextrw $0x23, %xmm4, (%edx) 66 phminposuw %xmm1, %xmm2 67 phminposuw (%ebx), %xmm2 68 phminposuw 0x42(%ebx), %xmm2 69 pinsrb $0x23, %ebx, %xmm2 70 pinsrb $0x23, (%ebx), %xmm2 71 pinsrb $0x23, 0x42(%ebx), %xmm2 72 pinsrd $0x23, %ebx, %xmm2 73 pinsrd $0x23, (%ebx), %xmm2 74 pinsrd $0x23, 0x42(%ebx), %xmm2 75 pmaxsb %xmm1, %xmm2 76 pmaxsb (%ebx), %xmm2 77 pmaxsb 0x42(%ebx), %xmm2 78 pmaxsd %xmm1, %xmm2 79 pmaxsd (%ebx), %xmm2 80 pmaxsd 0x42(%ebx), %xmm2 81 pmaxud %xmm1, %xmm2 82 pmaxud (%ebx), %xmm2 83 pmaxud 0x42(%ebx), %xmm2 84 pmaxuw %xmm1, %xmm2 85 pmaxuw (%ebx), %xmm2 86 pmaxuw 0x42(%ebx), %xmm2 87 pminsb %xmm1, %xmm2 88 pminsb (%ebx), %xmm2 89 pminsb 0x42(%ebx), %xmm2 90 pminsd %xmm1, %xmm2 91 pminsd (%ebx), %xmm2 92 pminsd 0x42(%ebx), %xmm2 93 pminud %xmm1, %xmm2 94 pminud (%ebx), %xmm2 95 pminud 0x42(%ebx), %xmm2 96 pminuw %xmm1, %xmm2 97 pminuw (%ebx), %xmm2 98 pminuw 0x42(%ebx), %xmm2 99 pmovsxbd %xmm1, %xmm2 100 pmovsxbd (%ebx), %xmm2 101 pmovsxbd 0x42(%ebx), %xmm2 102 pmovsxbq %xmm1, %xmm2 103 pmovsxbq (%ebx), %xmm2 104 pmovsxbq 0x42(%ebx), %xmm2 105 pmovsxbw %xmm1, %xmm2 106 pmovsxbw (%ebx), %xmm2 107 pmovsxbw 0x42(%ebx), %xmm2 108 pmovsxdq %xmm1, %xmm2 109 pmovsxdq (%ebx), %xmm2 110 pmovsxdq 0x42(%ebx), %xmm2 111 pmovsxwd %xmm1, %xmm2 112 pmovsxwd (%ebx), %xmm2 113 pmovsxwd 0x42(%ebx), %xmm2 114 pmovsxwq %xmm1, %xmm2 115 pmovsxwq (%ebx), %xmm2 116 pmovsxwq 0x42(%ebx), %xmm2 117 pmovzxbd %xmm1, %xmm2 118 pmovzxbd (%ebx), %xmm2 119 pmovzxbd 0x42(%ebx), %xmm2 120 pmovzxbq %xmm1, %xmm2 121 pmovzxbq (%ebx), %xmm2 122 pmovzxbq 0x42(%ebx), %xmm2 123 pmovzxbw %xmm1, %xmm2 124 pmovzxbw (%ebx), %xmm2 125 pmovzxbw 0x42(%ebx), %xmm2 126 pmovzxdq %xmm1, %xmm2 127 pmovzxdq (%ebx), %xmm2 128 pmovzxdq 0x42(%ebx), %xmm2 129 pmovzxwd %xmm1, %xmm2 130 pmovzxwd (%ebx), %xmm2 131 pmovzxwd 0x42(%ebx), %xmm2 132 pmovzxwq %xmm1, %xmm2 133 pmovzxwq (%ebx), %xmm2 134 pmovzxwq 0x42(%ebx), %xmm2 135 pmuldq %xmm1, %xmm2 136 pmuldq (%ebx), %xmm2 137 pmuldq 0x42(%ebx), %xmm2 138 pmulld %xmm1, %xmm2 139 pmulld (%ebx), %xmm2 140 pmulld 0x42(%ebx), %xmm2 141 ptest %xmm1, %xmm2 142 ptest (%ebx), %xmm2 143 ptest 0x42(%ebx), %xmm2 144 roundpd $0x23, %xmm1, %xmm2 145 roundpd $0x23, (%ebx), %xmm2 146 roundpd $0x23, 0x42(%ebx), %xmm2 147 roundps $0x23, %xmm1, %xmm2 148 roundps $0x23, (%ebx), %xmm2 149 roundps $0x23, 0x42(%ebx), %xmm2 150 roundsd $0x23, %xmm1, %xmm2 151 roundsd $0x23, (%ebx), %xmm2 152 roundsd $0x23, 0x42(%ebx), %xmm2 153 roundss $0x23, %xmm1, %xmm2 154 roundss $0x23, (%ebx), %xmm2 155 roundss $0x23, 0x42(%ebx), %xmm2 156.size libdis_test, [.-libdis_test] 157