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, (%rbx), %xmm1 27 blendps $0x42, %xmm0, %xmm1 28 blendps $0x42, (%rbx), %xmm1 29 blendvpd %xmm1, %xmm2 30 blendvpd (%rbx), %xmm2 31 blendvpd 0x42(%rbx), %xmm2 32 blendvps %xmm1, %xmm2 33 blendvps (%rbx), %xmm2 34 blendvps 0x42(%rbx), %xmm2 35 dppd $0x42, %xmm0, %xmm1 36 dppd $0x42, (%rbx), %xmm1 37 dpps $0x42, %xmm0, %xmm1 38 dpps $0x42, (%rbx), %xmm1 39 extractps $0x23, %xmm6, %rbx 40 extractps $0x23, %xmm6, (%rbx) 41 insertps $0x23, %xmm1, %xmm2 42 insertps $0x23, (%rbx), %xmm2 43 insertps $0x23, 0x42(%rbx), %xmm2 44 movntdqa (%rbx), %xmm0 45 mpsadbw $0x23, %xmm1, %xmm2 46 mpsadbw $0x23, (%rbx), %xmm2 47 mpsadbw $0x23, 0x42(%rbx), %xmm2 48 packusdw %xmm1, %xmm2 49 packusdw (%rbx), %xmm2 50 packusdw 0x42(%rbx), %xmm2 51 pblendvb %xmm1, %xmm2 52 pblendvb (%rbx), %xmm2 53 pblendvb 0x42(%rbx), %xmm2 54 pblendw $0x23, %xmm1, %xmm2 55 pblendw $0x23, (%rbx), %xmm2 56 pblendw $0x23, 0x42(%rbx), %xmm2 57 pcmpeqq %xmm1, %xmm2 58 pcmpeqq (%rbx), %xmm2 59 pcmpeqq 0x42(%rbx), %xmm2 60 pextrb $0x23, %xmm4, %rdx 61 pextrb $0x23, %xmm4, (%rdx) 62 pextrd $0x23, %xmm4, %edx 63 pextrd $0x23, %xmm4, (%rdx) 64 pextrq $0x23, %xmm4, %rdx 65 pextrq $0x23, %xmm4, (%rdx) 66 pextrw $0x23, %xmm4, %rdx 67 pextrw $0x23, %xmm4, (%rdx) 68 phminposuw %xmm1, %xmm2 69 phminposuw (%rbx), %xmm2 70 phminposuw 0x42(%rbx), %xmm2 71 pinsrb $0x23, %rbx, %xmm2 72 pinsrb $0x23, (%rbx), %xmm2 73 pinsrb $0x23, 0x42(%rbx), %xmm2 74 pinsrd $0x23, %ebx, %xmm2 75 pinsrd $0x23, (%rbx), %xmm2 76 pinsrd $0x23, 0x42(%rbx), %xmm2 77 pinsrq $0x23, %rbx, %xmm2 78 pinsrq $0x23, (%rbx), %xmm2 79 pinsrq $0x23, 0x42(%rbx), %xmm2 80 pmaxsb %xmm1, %xmm2 81 pmaxsb (%rbx), %xmm2 82 pmaxsb 0x42(%rbx), %xmm2 83 pmaxsd %xmm1, %xmm2 84 pmaxsd (%rbx), %xmm2 85 pmaxsd 0x42(%rbx), %xmm2 86 pmaxud %xmm1, %xmm2 87 pmaxud (%rbx), %xmm2 88 pmaxud 0x42(%rbx), %xmm2 89 pmaxuw %xmm1, %xmm2 90 pmaxuw (%rbx), %xmm2 91 pmaxuw 0x42(%rbx), %xmm2 92 pminsb %xmm1, %xmm2 93 pminsb (%rbx), %xmm2 94 pminsb 0x42(%rbx), %xmm2 95 pminsd %xmm1, %xmm2 96 pminsd (%rbx), %xmm2 97 pminsd 0x42(%rbx), %xmm2 98 pminud %xmm1, %xmm2 99 pminud (%rbx), %xmm2 100 pminud 0x42(%rbx), %xmm2 101 pminuw %xmm1, %xmm2 102 pminuw (%rbx), %xmm2 103 pminuw 0x42(%rbx), %xmm2 104 pmovsxbd %xmm1, %xmm2 105 pmovsxbd (%rbx), %xmm2 106 pmovsxbd 0x42(%rbx), %xmm2 107 pmovsxbq %xmm1, %xmm2 108 pmovsxbq (%rbx), %xmm2 109 pmovsxbq 0x42(%rbx), %xmm2 110 pmovsxbw %xmm1, %xmm2 111 pmovsxbw (%rbx), %xmm2 112 pmovsxbw 0x42(%rbx), %xmm2 113 pmovsxdq %xmm1, %xmm2 114 pmovsxdq (%rbx), %xmm2 115 pmovsxdq 0x42(%rbx), %xmm2 116 pmovsxwd %xmm1, %xmm2 117 pmovsxwd (%rbx), %xmm2 118 pmovsxwd 0x42(%rbx), %xmm2 119 pmovsxwq %xmm1, %xmm2 120 pmovsxwq (%rbx), %xmm2 121 pmovsxwq 0x42(%rbx), %xmm2 122 pmovzxbd %xmm1, %xmm2 123 pmovzxbd (%rbx), %xmm2 124 pmovzxbd 0x42(%rbx), %xmm2 125 pmovzxbq %xmm1, %xmm2 126 pmovzxbq (%rbx), %xmm2 127 pmovzxbq 0x42(%rbx), %xmm2 128 pmovzxbw %xmm1, %xmm2 129 pmovzxbw (%rbx), %xmm2 130 pmovzxbw 0x42(%rbx), %xmm2 131 pmovzxdq %xmm1, %xmm2 132 pmovzxdq (%rbx), %xmm2 133 pmovzxdq 0x42(%rbx), %xmm2 134 pmovzxwd %xmm1, %xmm2 135 pmovzxwd (%rbx), %xmm2 136 pmovzxwd 0x42(%rbx), %xmm2 137 pmovzxwq %xmm1, %xmm2 138 pmovzxwq (%rbx), %xmm2 139 pmovzxwq 0x42(%rbx), %xmm2 140 pmuldq %xmm1, %xmm2 141 pmuldq (%rbx), %xmm2 142 pmuldq 0x42(%rbx), %xmm2 143 pmulld %xmm1, %xmm2 144 pmulld (%rbx), %xmm2 145 pmulld 0x42(%rbx), %xmm2 146 ptest %xmm1, %xmm2 147 ptest (%rbx), %xmm2 148 ptest 0x42(%rbx), %xmm2 149 roundpd $0x23, %xmm1, %xmm2 150 roundpd $0x23, (%rbx), %xmm2 151 roundpd $0x23, 0x42(%rbx), %xmm2 152 roundps $0x23, %xmm1, %xmm2 153 roundps $0x23, (%rbx), %xmm2 154 roundps $0x23, 0x42(%rbx), %xmm2 155 roundsd $0x23, %xmm1, %xmm2 156 roundsd $0x23, (%rbx), %xmm2 157 roundsd $0x23, 0x42(%rbx), %xmm2 158 roundss $0x23, %xmm1, %xmm2 159 roundss $0x23, (%rbx), %xmm2 160 roundss $0x23, 0x42(%rbx), %xmm2 161.size libdis_test, [.-libdis_test] 162