Coverage report: /home/ellis/comp/ext/ironclad/src/opt/sbcl/cpu-features.lisp

KindCoveredAll%
expression015 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;;; cpu-features.lisp
2
 (in-package :crypto)
3
 
4
 ;;; Check what features are supported by the CPU
5
 #+x86-64
6
 (sb-ext:defglobal aes-ni-support-known-p nil)
7
 #+x86-64
8
 (sb-ext:defglobal aes-ni-supported-p nil)
9
 #+x86-64
10
 (declaim (inline aes-ni-supported-p))
11
 #+x86-64
12
 (defun aes-ni-supported-p ()
13
   (declare (optimize (speed 3) (space 0) (debug 0) (safety 0)))
14
   #+ironclad-assembly (if aes-ni-support-known-p
15
                           aes-ni-supported-p
16
                           (setf aes-ni-support-known-p t
17
                                 aes-ni-supported-p (aes-ni-support-p)))
18
   #-ironclad-assembly nil)
19
 
20
 #+x86-64
21
 (sb-ext:defglobal pclmulqdq-support-known-p nil)
22
 #+x86-64
23
 (sb-ext:defglobal pclmulqdq-supported-p nil)
24
 #+x86-64
25
 (declaim (inline pclmulqdq-supported-p))
26
 #+x86-64
27
 (defun pclmulqdq-supported-p ()
28
   (declare (optimize (speed 3) (space 0) (debug 0) (safety 0)))
29
   #+ironclad-assembly (if pclmulqdq-support-known-p
30
                           pclmulqdq-supported-p
31
                           (setf pclmulqdq-support-known-p t
32
                                 pclmulqdq-supported-p (pclmulqdq-support-p)))
33
   #-ironclad-assembly nil)