type mutable_flag = Asttypes.mutable_flagtype immediate_or_pointer = Lambda.immediate_or_pointertype initialization_or_assignment = Lambda.initialization_or_assignmenttype is_safe = Lambda.is_safetype primitive = - | Pread_symbol of string
- | Pmakeblock of int * mutable_flag * block_shape
- | Pfield of int * immediate_or_pointer * mutable_flag
- | Pfield_computed
- | Psetfield of int * immediate_or_pointer * initialization_or_assignment
- | Psetfield_computed of immediate_or_pointer * initialization_or_assignment
- | Pfloatfield of int
- | Psetfloatfield of int * initialization_or_assignment
- | Pduprecord of Types.record_representation * int
- | Prunstack
- | Pperform
- | Presume
- | Preperform
- | Pccall of Primitive.description
- | Praise of raise_kind
- | Psequand
- | Psequor
- | Pnot
- | Pnegint
- | Paddint
- | Psubint
- | Pmulint
- | Pdivint of is_safe
- | Pmodint of is_safe
- | Pandint
- | Porint
- | Pxorint
- | Plslint
- | Plsrint
- | Pasrint
- | Pintcomp of integer_comparison
- | Pcompare_ints
- | Pcompare_floats
- | Pcompare_bints of boxed_integer
- | Poffsetint of int
- | Poffsetref of int
- | Pintoffloat
- | Pfloatofint
- | Pnegfloat
- | Pabsfloat
- | Paddfloat
- | Psubfloat
- | Pmulfloat
- | Pdivfloat
- | Pfloatcomp of float_comparison
- | Pstringlength
- | Pstringrefu
- | Pstringrefs
- | Pbyteslength
- | Pbytesrefu
- | Pbytessetu
- | Pbytesrefs
- | Pbytessets
- | Pmakearray of array_kind * mutable_flag(*- For *)- Pmakearray, the list of arguments must not be empty. The empty array should be represented by a distinguished constant in the middle end.
- | Pduparray of array_kind * mutable_flag(*- For *)- Pduparray, the argument must be an immutable array. The arguments of- Pduparraygive the kind and mutability of the array being *produced* by the duplication.
- | Parraylength of array_kind
- | Parrayrefu of array_kind
- | Parraysetu of array_kind
- | Parrayrefs of array_kind
- | Parraysets of array_kind
- | Pisint
- | Pisout
- | Pbintofint of boxed_integer
- | Pintofbint of boxed_integer
- | Pcvtbint of boxed_integer * boxed_integer
- | Pnegbint of boxed_integer
- | Paddbint of boxed_integer
- | Psubbint of boxed_integer
- | Pmulbint of boxed_integer
- | Pdivbint of {- size : boxed_integer;
- is_safe : is_safe;
 - }
- | Pmodbint of {- size : boxed_integer;
- is_safe : is_safe;
 - }
- | Pandbint of boxed_integer
- | Porbint of boxed_integer
- | Pxorbint of boxed_integer
- | Plslbint of boxed_integer
- | Plsrbint of boxed_integer
- | Pasrbint of boxed_integer
- | Pbintcomp of boxed_integer * integer_comparison
- | Pbigarrayref of bool * int * bigarray_kind * bigarray_layout
- | Pbigarrayset of bool * int * bigarray_kind * bigarray_layout
- | Pbigarraydim of int
- | Pstring_load of memory_access_size * is_safe
- | Pbytes_load of memory_access_size * is_safe
- | Pbytes_set of memory_access_size * is_safe
- | Pbigstring_load of memory_access_size * is_safe
- | Pbigstring_set of memory_access_size * is_safe
- | Pbswap16
- | Pbbswap of boxed_integer
- | Pint_as_pointer
- | Patomic_load of {- immediate_or_pointer : immediate_or_pointer;
 - }
- | Patomic_exchange
- | Patomic_cas
- | Patomic_fetch_add
- | Popaque
- | Pdls_get
and float_comparison = Lambda.float_comparison = and block_shape = Lambda.block_shapeand bigarray_kind = Lambda.bigarray_kind = and bigarray_layout = Lambda.bigarray_layout = 
