Handbook
Glossary
##fma-vector
Vocabulary
compiler
.
cfg
.
instructions
Definition
IN:
compiler.cfg.instructions
TUPLE:
##fma-vector
<
foldable-insn
dst src1 src2 src3 rep insn#
;
Methods
USING:
accessors
arrays
compiler.cfg.instructions
compiler.cfg.value-numbering.expressions
compiler.cfg.value-numbering.graph
kernel
sequences.private
;
M:
##fma-vector
>expr
\
##fma-vector
swap
[
src1>>
vreg>vn
]
keep
[
src2>>
vreg>vn
]
keep
[
src3>>
vreg>vn
]
keep
[
rep>>
]
keep
drop
5
f
<array>
4
swap
[
set-array-nth
]
keep
3
swap
[
set-array-nth
]
keep
2
swap
[
set-array-nth
]
keep
1
swap
[
set-array-nth
]
keep
0
swap
[
set-array-nth
]
keep
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linear-scan.assignment
kernel
;
M:
##fma-vector
assign-insn-defs
[
vreg>reg
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linear-scan.assignment
kernel
;
M:
##fma-vector
assign-insn-uses
[
vreg>reg
]
change-src1
[
vreg>reg
]
change-src2
[
vreg>reg
]
change-src3
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.representations.rewrite
kernel
;
M:
##fma-vector
convert-insn-defs
[
converted-value
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.representations.rewrite
kernel
;
M:
##fma-vector
convert-insn-uses
[
converted-value
]
change-src1
[
converted-value
]
change-src2
[
converted-value
]
change-src3
drop
;
USING:
accessors
arrays
compiler.cfg.instructions
compiler.cfg.representations.preferred
;
M:
##fma-vector
defs-vreg-reps
rep>>
1array
;
USING:
accessors
arrays
compiler.cfg.def-use
compiler.cfg.instructions
;
M:
##fma-vector
defs-vregs
dst>>
1array
;
USING:
accessors
compiler.cfg.instructions
compiler.codegen
cpu.architecture
kernel
;
M:
##fma-vector
generate-insn
[
dst>>
]
keep
[
src1>>
]
keep
[
src2>>
]
keep
[
src3>>
]
keep
[
rep>>
]
keep
drop
%fma-vector
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.intrinsics.simd.backend
cpu.architecture
sequences
;
M:
##fma-vector
insn-available?
rep>>
%fma-vector-reps
member?
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.linear-scan.assignment
compiler.cfg.register-allocation.ssa.phases
kernel
;
M:
##fma-vector
phase-assign-insn-defs
[
vreg>reg
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.register-allocation.ssa.phases
kernel
;
M:
##fma-vector
phase-assign-insn-uses
[
phase-input>register
]
change-src1
[
phase-input>register
]
change-src2
[
phase-input>register
]
change-src3
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.renaming
kernel
;
M:
##fma-vector
rename-insn-defs
[
rename-value
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.renaming
kernel
;
M:
##fma-vector
rename-insn-uses
[
rename-value
]
change-src1
[
rename-value
]
change-src2
[
rename-value
]
change-src3
drop
;
USING:
accessors
assocs
compiler.cfg.instructions
compiler.cfg.register-allocation.chordal.spilling
kernel
namespaces
;
M:
##fma-vector
spill-rename-insn-defs
[
dup
spill-def-renaming
get
at
swap
or
]
change-dst
drop
;
USING:
accessors
assocs
compiler.cfg.instructions
compiler.cfg.register-allocation.chordal.spilling
kernel
namespaces
;
M:
##fma-vector
spill-rename-insn-uses
[
dup
spill-use-renaming
get
at
swap
or
]
change-src1
[
dup
spill-use-renaming
get
at
swap
or
]
change-src2
[
dup
spill-use-renaming
get
at
swap
or
]
change-src3
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.ssa.construction.private
kernel
;
M:
##fma-vector
ssa-rename-insn-defs
[
gen-name
]
change-dst
drop
;
USING:
accessors
compiler.cfg.instructions
compiler.cfg.ssa.construction.private
kernel
;
M:
##fma-vector
ssa-rename-insn-uses
[
top-name
]
change-src1
[
top-name
]
change-src2
[
top-name
]
change-src3
drop
;
USING:
accessors
combinators
compiler.cfg.instructions
compiler.cfg.representations.preferred
sequences.generalizations
;
M:
##fma-vector
uses-vreg-reps
{
[
rep>>
]
[
rep>>
]
[
rep>>
]
}
cleave
3
narray
;
USING:
accessors
combinators
compiler.cfg.def-use
compiler.cfg.instructions
sequences.generalizations
;
M:
##fma-vector
uses-vregs
{
[
src1>>
]
[
src2>>
]
[
src3>>
]
}
cleave
3
narray
;