aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/perlasm/x86asm.pl
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2011-05-16 18:07:00 +0000
committerAndy Polyakov <appro@openssl.org>2011-05-16 18:07:00 +0000
commit2b9a8ca15bb3acd8fee40c61fd02f58f94ab4a3f (patch)
treedb2059a05ba43c671fe608b7526236b54078bbf9 /crypto/perlasm/x86asm.pl
parentafebe623c52d2067d1c34d4461ee92924371621d (diff)
downloadopenssl-2b9a8ca15bb3acd8fee40c61fd02f58f94ab4a3f.tar.gz
x86gas.pl: add palignr and move pclmulqdq.
Diffstat (limited to 'crypto/perlasm/x86asm.pl')
-rw-r--r--crypto/perlasm/x86asm.pl16
1 files changed, 16 insertions, 0 deletions
diff --git a/crypto/perlasm/x86asm.pl b/crypto/perlasm/x86asm.pl
index e0b228eb55..efa7b61ce8 100644
--- a/crypto/perlasm/x86asm.pl
+++ b/crypto/perlasm/x86asm.pl
@@ -107,6 +107,22 @@ sub ::pshufb
{ &::generic("pshufb",@_); }
}
+sub ::palignr
+{ my($dst,$src,$imm)=@_;
+ if ("$dst:$src" =~ /xmm([0-7]):xmm([0-7])/)
+ { &::data_byte(0x66,0x0f,0x3a,0x0f,0xc0|($1<<3)|$2,$imm); }
+ else
+ { &::generic("palignr",@_); }
+}
+
+sub ::pclmulqdq
+{ my($dst,$src,$imm)=@_;
+ if ("$dst:$src" =~ /xmm([0-7]):xmm([0-7])/)
+ { &::data_byte(0x66,0x0f,0x3a,0x44,0xc0|($1<<3)|$2,$imm); }
+ else
+ { &::generic("pclmulqdq",@_); }
+}
+
# label management
$lbdecor="L"; # local label decoration, set by package
$label="000";