#| -*-Scheme-*-

DO NOT EDIT: this file was generated by a program.

Copyright (C) 2020 Massachusetts Institute of Technology

This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

|#

;;;; Opcodes for SVM version 1

(declare (usual-integrations))

(define-integrable svm1-addr:indir        #x01)
(define-integrable svm1-addr:offset-s8-b  #x02)
(define-integrable svm1-addr:offset-s8-w  #x03)
(define-integrable svm1-addr:offset-s8-f  #x04)
(define-integrable svm1-addr:offset-s16-b #x05)
(define-integrable svm1-addr:offset-s16-w #x06)
(define-integrable svm1-addr:offset-s16-f #x07)
(define-integrable svm1-addr:offset-s32-b #x08)
(define-integrable svm1-addr:offset-s32-w #x09)
(define-integrable svm1-addr:offset-s32-f #x0a)
(define-integrable svm1-addr:index-b-b    #x0b)
(define-integrable svm1-addr:index-b-w    #x0c)
(define-integrable svm1-addr:index-b-f    #x0d)
(define-integrable svm1-addr:index-w-b    #x0e)
(define-integrable svm1-addr:index-w-w    #x0f)
(define-integrable svm1-addr:index-w-f    #x10)
(define-integrable svm1-addr:index-f-b    #x11)
(define-integrable svm1-addr:index-f-w    #x12)
(define-integrable svm1-addr:index-f-f    #x13)
(define-integrable svm1-addr:predec-b     #x14)
(define-integrable svm1-addr:predec-w     #x15)
(define-integrable svm1-addr:predec-f     #x16)
(define-integrable svm1-addr:preinc-b     #x17)
(define-integrable svm1-addr:preinc-w     #x18)
(define-integrable svm1-addr:preinc-f     #x19)
(define-integrable svm1-addr:postdec-b    #x1a)
(define-integrable svm1-addr:postdec-w    #x1b)
(define-integrable svm1-addr:postdec-f    #x1c)
(define-integrable svm1-addr:postinc-b    #x1d)
(define-integrable svm1-addr:postinc-w    #x1e)
(define-integrable svm1-addr:postinc-f    #x1f)
(define-integrable svm1-addr:pcr-s8       #x20)
(define-integrable svm1-addr:pcr-s16      #x21)
(define-integrable svm1-addr:pcr-s32      #x22)
(define-integrable svm1-inst:store-b-wr-addr             #x01)
(define-integrable svm1-inst:store-w-wr-addr             #x02)
(define-integrable svm1-inst:store-f-fr-addr             #x03)
(define-integrable svm1-inst:load-b-wr-addr              #x04)
(define-integrable svm1-inst:load-w-wr-addr              #x05)
(define-integrable svm1-inst:load-f-fr-addr              #x06)
(define-integrable svm1-inst:load-address-addr           #x07)
(define-integrable svm1-inst:load-immediate-wr-s8        #x08)
(define-integrable svm1-inst:load-immediate-wr-s16       #x09)
(define-integrable svm1-inst:load-immediate-wr-s32       #x0a)
(define-integrable svm1-inst:load-immediate-fr-flt       #x0b)
(define-integrable svm1-inst:copy-block-u8-w             #x0c)
(define-integrable svm1-inst:copy-block-wr-w             #x0d)
(define-integrable svm1-inst:load-non-pointer-tc-s8      #x0e)
(define-integrable svm1-inst:load-non-pointer-wr-s8      #x0f)
(define-integrable svm1-inst:load-non-pointer-tc-s16     #x10)
(define-integrable svm1-inst:load-non-pointer-wr-s16     #x11)
(define-integrable svm1-inst:load-non-pointer-tc-s32     #x12)
(define-integrable svm1-inst:load-non-pointer-wr-s32     #x13)
(define-integrable svm1-inst:load-non-pointer-tc-wr      #x14)
(define-integrable svm1-inst:load-non-pointer            #x15)
(define-integrable svm1-inst:load-pointer-tc-wr          #x16)
(define-integrable svm1-inst:load-pointer                #x17)
(define-integrable svm1-inst:jump-pcr-s8                 #x18)
(define-integrable svm1-inst:jump-pcr-s16                #x19)
(define-integrable svm1-inst:jump-pcr-s32                #x1a)
(define-integrable svm1-inst:jump-indir-wr               #x1b)
(define-integrable svm1-inst:ijump-u8                    #x1c)
(define-integrable svm1-inst:ijump-u16                   #x1d)
(define-integrable svm1-inst:ijump-u32                   #x1e)
(define-integrable svm1-inst:icall-u8                    #x1f)
(define-integrable svm1-inst:icall-u16                   #x20)
(define-integrable svm1-inst:icall-u32                   #x21)
(define-integrable svm1-inst:enter-closure               #x22)
(define-integrable svm1-inst:cjump-eq-wr-wr-pcr-s8       #x23)
(define-integrable svm1-inst:cjump-neq-wr-wr-pcr-s8      #x24)
(define-integrable svm1-inst:cjump-lt-wr-wr-pcr-s8       #x25)
(define-integrable svm1-inst:cjump-ge-wr-wr-pcr-s8       #x26)
(define-integrable svm1-inst:cjump-gt-wr-wr-pcr-s8       #x27)
(define-integrable svm1-inst:cjump-le-wr-wr-pcr-s8       #x28)
(define-integrable svm1-inst:cjump-slt-wr-wr-pcr-s8      #x29)
(define-integrable svm1-inst:cjump-sge-wr-wr-pcr-s8      #x2a)
(define-integrable svm1-inst:cjump-sgt-wr-wr-pcr-s8      #x2b)
(define-integrable svm1-inst:cjump-sle-wr-wr-pcr-s8      #x2c)
(define-integrable svm1-inst:cjump-eq-wr-wr-pcr-s16      #x2d)
(define-integrable svm1-inst:cjump-neq-wr-wr-pcr-s16     #x2e)
(define-integrable svm1-inst:cjump-lt-wr-wr-pcr-s16      #x2f)
(define-integrable svm1-inst:cjump-ge-wr-wr-pcr-s16      #x30)
(define-integrable svm1-inst:cjump-gt-wr-wr-pcr-s16      #x31)
(define-integrable svm1-inst:cjump-le-wr-wr-pcr-s16      #x32)
(define-integrable svm1-inst:cjump-slt-wr-wr-pcr-s16     #x33)
(define-integrable svm1-inst:cjump-sge-wr-wr-pcr-s16     #x34)
(define-integrable svm1-inst:cjump-sgt-wr-wr-pcr-s16     #x35)
(define-integrable svm1-inst:cjump-sle-wr-wr-pcr-s16     #x36)
(define-integrable svm1-inst:cjump-eq-wr-wr-pcr-s32      #x37)
(define-integrable svm1-inst:cjump-neq-wr-wr-pcr-s32     #x38)
(define-integrable svm1-inst:cjump-lt-wr-wr-pcr-s32      #x39)
(define-integrable svm1-inst:cjump-ge-wr-wr-pcr-s32      #x3a)
(define-integrable svm1-inst:cjump-gt-wr-wr-pcr-s32      #x3b)
(define-integrable svm1-inst:cjump-le-wr-wr-pcr-s32      #x3c)
(define-integrable svm1-inst:cjump-slt-wr-wr-pcr-s32     #x3d)
(define-integrable svm1-inst:cjump-sge-wr-wr-pcr-s32     #x3e)
(define-integrable svm1-inst:cjump-sgt-wr-wr-pcr-s32     #x3f)
(define-integrable svm1-inst:cjump-sle-wr-wr-pcr-s32     #x40)
(define-integrable svm1-inst:cjump-eq-wr-pcr-s8          #x41)
(define-integrable svm1-inst:cjump-neq-wr-pcr-s8         #x42)
(define-integrable svm1-inst:cjump-slt-wr-pcr-s8         #x43)
(define-integrable svm1-inst:cjump-sge-wr-pcr-s8         #x44)
(define-integrable svm1-inst:cjump-sgt-wr-pcr-s8         #x45)
(define-integrable svm1-inst:cjump-sle-wr-pcr-s8         #x46)
(define-integrable svm1-inst:cjump-eq-wr-pcr-s16         #x47)
(define-integrable svm1-inst:cjump-neq-wr-pcr-s16        #x48)
(define-integrable svm1-inst:cjump-slt-wr-pcr-s16        #x49)
(define-integrable svm1-inst:cjump-sge-wr-pcr-s16        #x4a)
(define-integrable svm1-inst:cjump-sgt-wr-pcr-s16        #x4b)
(define-integrable svm1-inst:cjump-sle-wr-pcr-s16        #x4c)
(define-integrable svm1-inst:cjump-eq-wr-pcr-s32         #x4d)
(define-integrable svm1-inst:cjump-neq-wr-pcr-s32        #x4e)
(define-integrable svm1-inst:cjump-slt-wr-pcr-s32        #x4f)
(define-integrable svm1-inst:cjump-sge-wr-pcr-s32        #x50)
(define-integrable svm1-inst:cjump-sgt-wr-pcr-s32        #x51)
(define-integrable svm1-inst:cjump-sle-wr-pcr-s32        #x52)
(define-integrable svm1-inst:cjump-fix-wr-pcr-s8         #x53)
(define-integrable svm1-inst:cjump-nfix-wr-pcr-s8        #x54)
(define-integrable svm1-inst:cjump-ifix-wr-pcr-s8        #x55)
(define-integrable svm1-inst:cjump-nifix-wr-pcr-s8       #x56)
(define-integrable svm1-inst:cjump-fix-wr-pcr-s16        #x57)
(define-integrable svm1-inst:cjump-nfix-wr-pcr-s16       #x58)
(define-integrable svm1-inst:cjump-ifix-wr-pcr-s16       #x59)
(define-integrable svm1-inst:cjump-nifix-wr-pcr-s16      #x5a)
(define-integrable svm1-inst:cjump-fix-wr-pcr-s32        #x5b)
(define-integrable svm1-inst:cjump-nfix-wr-pcr-s32       #x5c)
(define-integrable svm1-inst:cjump-ifix-wr-pcr-s32       #x5d)
(define-integrable svm1-inst:cjump-nifix-wr-pcr-s32      #x5e)
(define-integrable svm1-inst:cjump-eq-fr-fr-pcr-s8       #x5f)
(define-integrable svm1-inst:cjump-neq-fr-fr-pcr-s8      #x60)
(define-integrable svm1-inst:cjump-lt-fr-fr-pcr-s8       #x61)
(define-integrable svm1-inst:cjump-gt-fr-fr-pcr-s8       #x62)
(define-integrable svm1-inst:cjump-le-fr-fr-pcr-s8       #x63)
(define-integrable svm1-inst:cjump-ge-fr-fr-pcr-s8       #x64)
(define-integrable svm1-inst:cjump-cmp-fr-fr-pcr-s8      #x65)
(define-integrable svm1-inst:cjump-ncmp-fr-fr-pcr-s8     #x66)
(define-integrable svm1-inst:cjump-eq-fr-fr-pcr-s16      #x67)
(define-integrable svm1-inst:cjump-neq-fr-fr-pcr-s16     #x68)
(define-integrable svm1-inst:cjump-lt-fr-fr-pcr-s16      #x69)
(define-integrable svm1-inst:cjump-gt-fr-fr-pcr-s16      #x6a)
(define-integrable svm1-inst:cjump-le-fr-fr-pcr-s16      #x6b)
(define-integrable svm1-inst:cjump-ge-fr-fr-pcr-s16      #x6c)
(define-integrable svm1-inst:cjump-cmp-fr-fr-pcr-s16     #x6d)
(define-integrable svm1-inst:cjump-ncmp-fr-fr-pcr-s16    #x6e)
(define-integrable svm1-inst:cjump-eq-fr-fr-pcr-s32      #x6f)
(define-integrable svm1-inst:cjump-neq-fr-fr-pcr-s32     #x70)
(define-integrable svm1-inst:cjump-lt-fr-fr-pcr-s32      #x71)
(define-integrable svm1-inst:cjump-gt-fr-fr-pcr-s32      #x72)
(define-integrable svm1-inst:cjump-le-fr-fr-pcr-s32      #x73)
(define-integrable svm1-inst:cjump-ge-fr-fr-pcr-s32      #x74)
(define-integrable svm1-inst:cjump-cmp-fr-fr-pcr-s32     #x75)
(define-integrable svm1-inst:cjump-ncmp-fr-fr-pcr-s32    #x76)
(define-integrable svm1-inst:cjump-eq-fr-pcr-s8          #x77)
(define-integrable svm1-inst:cjump-neq-fr-pcr-s8         #x78)
(define-integrable svm1-inst:cjump-lt-fr-pcr-s8          #x79)
(define-integrable svm1-inst:cjump-gt-fr-pcr-s8          #x7a)
(define-integrable svm1-inst:cjump-le-fr-pcr-s8          #x7b)
(define-integrable svm1-inst:cjump-ge-fr-pcr-s8          #x7c)
(define-integrable svm1-inst:cjump-cmp-fr-pcr-s8         #x7d)
(define-integrable svm1-inst:cjump-ncmp-fr-pcr-s8        #x7e)
(define-integrable svm1-inst:cjump-eq-fr-pcr-s16         #x7f)
(define-integrable svm1-inst:cjump-neq-fr-pcr-s16        #x80)
(define-integrable svm1-inst:cjump-lt-fr-pcr-s16         #x81)
(define-integrable svm1-inst:cjump-gt-fr-pcr-s16         #x82)
(define-integrable svm1-inst:cjump-le-fr-pcr-s16         #x83)
(define-integrable svm1-inst:cjump-ge-fr-pcr-s16         #x84)
(define-integrable svm1-inst:cjump-cmp-fr-pcr-s16        #x85)
(define-integrable svm1-inst:cjump-ncmp-fr-pcr-s16       #x86)
(define-integrable svm1-inst:cjump-eq-fr-pcr-s32         #x87)
(define-integrable svm1-inst:cjump-neq-fr-pcr-s32        #x88)
(define-integrable svm1-inst:cjump-lt-fr-pcr-s32         #x89)
(define-integrable svm1-inst:cjump-gt-fr-pcr-s32         #x8a)
(define-integrable svm1-inst:cjump-le-fr-pcr-s32         #x8b)
(define-integrable svm1-inst:cjump-ge-fr-pcr-s32         #x8c)
(define-integrable svm1-inst:cjump-cmp-fr-pcr-s32        #x8d)
(define-integrable svm1-inst:cjump-ncmp-fr-pcr-s32       #x8e)
(define-integrable svm1-inst:trap-trap-0                 #x8f)
(define-integrable svm1-inst:trap-trap-1-wr              #x90)
(define-integrable svm1-inst:trap-trap-2-wr              #x91)
(define-integrable svm1-inst:trap-trap-3-wr              #x92)
(define-integrable svm1-inst:interrupt-test-procedure    #x93)
(define-integrable svm1-inst:interrupt-test-dynamic-link #x94)
(define-integrable svm1-inst:interrupt-test-ic-procedure #x95)
(define-integrable svm1-inst:interrupt-test-continuation #x96)
(define-integrable svm1-inst:pop-return                  #x97)
(define-integrable svm1-inst:flonum-header-u8            #x98)
(define-integrable svm1-inst:flonum-header-u16           #x99)
(define-integrable svm1-inst:flonum-header-u32           #x9a)
(define-integrable svm1-inst:flonum-header               #x9b)
(define-integrable svm1-inst:copy-wr                     #x9c)
(define-integrable svm1-inst:copy-fr                     #x9d)
(define-integrable svm1-inst:negate-wr                   #x9e)
(define-integrable svm1-inst:negate-fr                   #x9f)
(define-integrable svm1-inst:increment-wr                #xa0)
(define-integrable svm1-inst:increment-fr                #xa1)
(define-integrable svm1-inst:decrement-wr                #xa2)
(define-integrable svm1-inst:decrement-fr                #xa3)
(define-integrable svm1-inst:abs-wr                      #xa4)
(define-integrable svm1-inst:abs-fr                      #xa5)
(define-integrable svm1-inst:object-type                 #xa6)
(define-integrable svm1-inst:object-datum                #xa7)
(define-integrable svm1-inst:object-address              #xa8)
(define-integrable svm1-inst:fixnum->integer             #xa9)
(define-integrable svm1-inst:integer->fixnum             #xaa)
(define-integrable svm1-inst:not                         #xab)
(define-integrable svm1-inst:flonum-align                #xac)
(define-integrable svm1-inst:flonum-length               #xad)
(define-integrable svm1-inst:sqrt                        #xae)
(define-integrable svm1-inst:round                       #xaf)
(define-integrable svm1-inst:ceiling                     #xb0)
(define-integrable svm1-inst:floor                       #xb1)
(define-integrable svm1-inst:truncate                    #xb2)
(define-integrable svm1-inst:log                         #xb3)
(define-integrable svm1-inst:exp                         #xb4)
(define-integrable svm1-inst:cos                         #xb5)
(define-integrable svm1-inst:sin                         #xb6)
(define-integrable svm1-inst:tan                         #xb7)
(define-integrable svm1-inst:acos                        #xb8)
(define-integrable svm1-inst:asin                        #xb9)
(define-integrable svm1-inst:atan                        #xba)
(define-integrable svm1-inst:+-wr                        #xbb)
(define-integrable svm1-inst:+-fr                        #xbc)
(define-integrable svm1-inst:--wr                        #xbd)
(define-integrable svm1-inst:--fr                        #xbe)
(define-integrable svm1-inst:*-wr                        #xbf)
(define-integrable svm1-inst:*-fr                        #xc0)
(define-integrable svm1-inst:product                     #xc1)
(define-integrable svm1-inst:quotient                    #xc2)
(define-integrable svm1-inst:remainder                   #xc3)
(define-integrable svm1-inst:lsh                         #xc4)
(define-integrable svm1-inst:and                         #xc5)
(define-integrable svm1-inst:andc                        #xc6)
(define-integrable svm1-inst:or                          #xc7)
(define-integrable svm1-inst:xor                         #xc8)
(define-integrable svm1-inst:max-unsigned                #xc9)
(define-integrable svm1-inst:min-unsigned                #xca)
(define-integrable svm1-inst:/                           #xcb)
(define-integrable svm1-inst:atan2                       #xcc)
(define-integrable svm1-trap-0:add                   #x01)
(define-integrable svm1-trap-0:decrement             #x02)
(define-integrable svm1-trap-0:divide                #x03)
(define-integrable svm1-trap-0:equal?                #x04)
(define-integrable svm1-trap-0:greater?              #x05)
(define-integrable svm1-trap-0:increment             #x06)
(define-integrable svm1-trap-0:less?                 #x07)
(define-integrable svm1-trap-0:modulo                #x08)
(define-integrable svm1-trap-0:multiply              #x09)
(define-integrable svm1-trap-0:negative?             #x0a)
(define-integrable svm1-trap-0:operator-1-0          #x0b)
(define-integrable svm1-trap-0:operator-2-0          #x0c)
(define-integrable svm1-trap-0:operator-2-1          #x0d)
(define-integrable svm1-trap-0:operator-3-0          #x0e)
(define-integrable svm1-trap-0:operator-3-1          #x0f)
(define-integrable svm1-trap-0:operator-3-2          #x10)
(define-integrable svm1-trap-0:operator-4-0          #x11)
(define-integrable svm1-trap-0:operator-4-1          #x12)
(define-integrable svm1-trap-0:operator-4-2          #x13)
(define-integrable svm1-trap-0:operator-4-3          #x14)
(define-integrable svm1-trap-0:operator-apply        #x15)
(define-integrable svm1-trap-0:operator-lexpr        #x16)
(define-integrable svm1-trap-0:operator-lookup       #x17)
(define-integrable svm1-trap-0:operator-primitive    #x18)
(define-integrable svm1-trap-0:positive?             #x19)
(define-integrable svm1-trap-0:quotient              #x1a)
(define-integrable svm1-trap-0:reflect-to-interface  #x1b)
(define-integrable svm1-trap-0:remainder             #x1c)
(define-integrable svm1-trap-0:return-to-interpreter #x1d)
(define-integrable svm1-trap-0:subtract              #x1e)
(define-integrable svm1-trap-0:zero?                 #x1f)
(define-integrable svm1-trap-1:error                 #x01)
(define-integrable svm1-trap-1:lookup                #x02)
(define-integrable svm1-trap-1:primitive-apply       #x03)
(define-integrable svm1-trap-1:primitive-lexpr-apply #x04)
(define-integrable svm1-trap-1:safe-lookup           #x05)
(define-integrable svm1-trap-1:unassigned?           #x06)
(define-integrable svm1-trap-2:apply           #x01)
(define-integrable svm1-trap-2:assignment      #x02)
(define-integrable svm1-trap-2:lexpr-apply     #x03)
(define-integrable svm1-trap-2:primitive-error #x04)
(define-integrable svm1-trap-3:cache-reference-apply #x01)
(define-integrable svm1-trap-3:link                  #x02)
