llvm-project/llvm/test/Verifier
Bjorn Pettersson 5e331e4ce8 [Intrinsic] Add the llvm.umul.fix.sat intrinsic
Summary:
Add an intrinsic that takes 2 unsigned integers with
the scale of them provided as the third argument and
performs fixed point multiplication on them. The
result is saturated and clamped between the largest and
smallest representable values of the first 2 operands.

This is a part of implementing fixed point arithmetic
in clang where some of the more complex operations
will be implemented as intrinsics.

Patch by: leonardchan, bjope

Reviewers: RKSimon, craig.topper, bevinh, leonardchan, lebedev.ri, spatel

Reviewed By: leonardchan

Subscribers: ychen, wuzish, nemanjai, MaskRay, jsji, jdoerfert, Ka-Ka, hiraditya, rjmccall, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57836

llvm-svn: 371308
2019-09-07 12:16:14 +00:00
..
AMDGPU AMDGPU: Fix missing immarg for mfma intrinsics 2019-07-16 17:22:21 +00:00
ARM ARM: Fix missing immarg for space intrinsic 2019-07-16 22:41:38 +00:00
Mips Mips: Add ImmArg to intrinsics 2019-03-13 19:07:59 +00:00
SystemZ [SystemZ] Add support for new cpu architecture - arch13 2019-07-12 18:13:16 +00:00
2002-04-13-RetTypes.ll
2002-11-05-GetelementptrPointers.ll
2004-05-21-SwitchConstantMismatch.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2006-07-11-StoreStruct.ll
2006-10-15-AddrLabel.ll
2006-12-12-IntrinsicDefine.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
2007-12-21-InvokeParamAttrs.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2008-01-11-VarargAttrs.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2008-03-01-AllocaSized.ll
2008-11-15-RetVoid.ll
2009-05-29-InvokeResult1.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2009-05-29-InvokeResult2.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2009-05-29-InvokeResult3.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
2010-08-07-PointerIntrinsic.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
AmbiguousPhi.ll
DIFile.ll [DebugInfo] Unify ChecksumKind and Checksum value in DIFile 2018-02-12 19:45:54 +00:00
DILocation-parents.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
DILocation-scope.ll Verifier: verify that a DILocation's scope is a DILocalScope. 2018-08-24 21:01:58 +00:00
DISubprogram.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
PhiGrouping.ll
README.txt
SelfReferential.ll
alias.ll
align-md.ll
alloc-size-failedparse.ll
allocsize.ll
amdgpu-cc.ll Verifier: Check some amdgpu calling convention restrictions 2017-04-04 18:43:11 +00:00
atomics.ll
bitcast-address-space-nested-global-cycle.ll
bitcast-address-space-nested-global.ll
bitcast-address-space-through-constant-inttoptr-inside-gep-instruction.ll
bitcast-address-space-through-constant-inttoptr.ll
bitcast-address-space-through-gep-2.ll
bitcast-address-space-through-gep.ll
bitcast-address-space-through-inttoptr.ll
bitcast-address-spaces.ll
bitcast-alias-address-space.ll
bitcast-pointer-vector-neg.ll [IR Verifier] Do not allow bitcast of pointer to vector of pointers and vice versa. 2018-08-21 04:27:07 +00:00
bitcast-vector-pointer-as-neg.ll [IR Verifier] Do not allow bitcast of pointer to vector of pointers and vice versa. 2018-08-21 04:27:07 +00:00
bitcast-vector-pointer-as.ll
bitcast-vector-pointer-neg.ll [IR Verifier] Do not allow bitcast of pointer to vector of pointers and vice versa. 2018-08-21 04:27:07 +00:00
bitcast-vector-pointer-pos.ll [IR Verifier] Do not allow bitcast of pointer to vector of pointers and vice versa. 2018-08-21 04:27:07 +00:00
blockbyref.ll Remove addBlockByrefAddress(), it is dead code as far as clang is concerned. 2018-09-08 00:21:55 +00:00
byval-1.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
byval-4.ll
callsite-dbgloc.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
cc-flags.ll Debug Info: Support DW_AT_calling_convention on composite types. 2018-01-05 01:13:37 +00:00
comdat-decl1.ll
comdat-decl2.ll
comdat.ll
comdat2.ll IR: Disable verifier check for GlobalValues with private linkage named after a comdat for non-COFF. 2019-08-06 21:47:18 +00:00
comdat3.ll
commandline-meta1.ll Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
commandline-meta2.ll Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
commandline-meta3.ll Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
commandline-meta4.ll Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
cttz-undef-arg.ll IR: Add immarg attribute 2019-03-12 21:02:54 +00:00
dbg-difile-crash.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-invalid-compileunit.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-invalid-named-metadata.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-invalid-retaintypes.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-invalid-vector.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
dbg-line-without-file.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-null-retained-type.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dbg-orphaned-compileunit.ll [IR/Verifier] List the CU we weren't able to find in `llvm.dbg.cu`. 2017-02-20 22:51:42 +00:00
dbg-typerefs.ll
dbg.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
deoptimize-intrinsic.ll
dereferenceable-md-inttoptr.ll [IR][Verifier] Allow IntToPtrInst to be !dereferenceable 2019-07-23 17:19:56 +00:00
dereferenceable-md.ll [IR][Verifier] Allow IntToPtrInst to be !dereferenceable 2019-07-23 17:19:56 +00:00
di-subroutine-localvar.ll [Verifier] Reject invalid type for DILocalVariable. 2019-01-07 23:09:09 +00:00
diderivedtype-address-space-atomic-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-const-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-friend.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-inheritance.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-member.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-ptr-to-member-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-restrict-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-rvalue-reference-type.ll Debug Info: Support address space attributes on rvalue references. 2019-05-07 17:42:38 +00:00
diderivedtype-address-space-typedef.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diderivedtype-address-space-volatile-type.ll [DebugInfo] Emit address space with DW_AT_address_class attribute for pointer and reference types 2017-03-08 23:55:44 +00:00
diexpression-entry-value.ll [DWARF] Handle the DW_OP_entry_value operand 2019-06-27 13:52:34 +00:00
diexpression-swap.ll [DebugInfo] Make legal and emit DW_OP_swap and DW_OP_xderef 2017-03-08 00:28:57 +00:00
diexpression-valid-entry-value.ll [DWARF] Handle the DW_OP_entry_value operand 2019-06-27 13:52:34 +00:00
diglobalvariable.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
dominates.ll
element-wise-atomic-memory-intrinsics.ll IR: Add immarg attribute 2019-03-12 21:02:54 +00:00
fnarg-debuginfo.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
fnarg-nodebug.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
fp-intrinsics.ll [FunctionAttrs] Annotate "willreturn" for intrinsics 2019-07-28 06:09:56 +00:00
fpmath.ll
fragment.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
frameescape.ll IR: Add immarg attribute 2019-03-12 21:02:54 +00:00
func-dbg.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
function-metadata-bad.ll Add function importing info from samplepgo profile to the module summary. 2017-02-28 18:09:44 +00:00
function-metadata-good.ll
gc_relocate_addrspace.ll
gc_relocate_operand.ll
gc_relocate_return.ll
gcread-ptrptr.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
gcroot.ll Replace gcroot verifier tests 2019-02-14 22:41:01 +00:00
gcwrite-ptrptr.ll Make shell redirection construct portable 2017-07-12 13:24:46 +00:00
global-ctors-2.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
global-ctors.ll
guard-intrinsic.ll
ident-meta1.ll
ident-meta2.ll
ident-meta3.ll
ident-meta4.ll
immarg-param-attribute-invalid.ll IR: Add immarg attribute 2019-03-12 21:02:54 +00:00
inalloca-vararg.ll
inalloca1.ll
inalloca2.ll
inalloca3.ll
intrinsic-arg-overloading-struct-ret.ll Test forward references in IntrinsicEmitter on Neon LD(2|3|4) 2019-06-17 12:01:53 +00:00
intrinsic-bad-arg-type.ll [IntrinsicEmitter] Support scalable vectors in intrinsics 2019-08-27 12:57:09 +00:00
intrinsic-immarg.ll [Intrinsic] Add the llvm.umul.fix.sat intrinsic 2019-09-07 12:16:14 +00:00
invalid-disubrange-count-node.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
invalid-eh.ll Change "UNSUPPORTED: windows" to be "UNSUPPORTED: system-windows" so that test is actually skipped on Windows. 2018-02-08 18:45:16 +00:00
invalid-statepoint.ll
invalid-statepoint2.ll
invoke.ll
jumptable.ll
llvm.compiler_used-invalid-type.ll
llvm.dbg.declare-address.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.declare-expression.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.declare-variable.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.intrinsic-dbg-attachment.ll Verifier: fix bug treating debug info issue as non-debug info issue 2018-01-23 16:11:15 +00:00
llvm.dbg.value-expression.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.value-value.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.dbg.value-variable.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
llvm.loop.ll Add debug location verification for !llvm.loop attachments. 2019-06-18 20:09:09 +00:00
llvm.used-invalid-init.ll
llvm.used-invalid-init2.ll
llvm.used-invalid-type.ll
llvm.used-invalid-type2.ll
llvm.used-ptr-type.ll
masked-load.ll Verifier: Make sure masked load/store alignment is a power of 2 2019-03-13 19:46:34 +00:00
masked-store.ll Verifier: Make sure masked load/store alignment is a power of 2 2019-03-13 19:46:34 +00:00
mdcompositetype-templateparams-tuple.ll
mdcompositetype-templateparams.ll
memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
metadata-function-dbg.ll [IR] Add DISuprogram and DIE for a func decl 2019-06-27 06:07:41 +00:00
metadata-function-prof.ll Add function importing info from samplepgo profile to the module summary. 2017-02-28 18:09:44 +00:00
module-flags-1.ll Support for taking the max of module flags when linking, use for PIE/PIC 2017-05-23 00:08:00 +00:00
module-flags-2.ll
module-flags-3.ll
module-flags-cgprofile.ll Recommit r335794 "Add support for generating a call graph profile from Branch Frequency Info." with fix for removed functions. 2018-07-16 00:28:24 +00:00
musttail-invalid.ll Tweak an assert message in the verifier 2018-04-06 10:20:19 +00:00
musttail-valid.ll
non-integer-gep-index.ll [Verifier] Check that GEP indexes has correct types 2017-12-14 09:33:58 +00:00
non-integer-gep-index.ll.bc [Verifier] Check that GEP indexes has correct types 2017-12-14 09:33:58 +00:00
non-integral-pointers.ll
operand-bundles.ll
pr34325.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
range-1.ll
range-2.ll
recursive-struct-param.ll
recursive-type-1.ll
recursive-type-2.ll
recursive-type-3.ll
resume.ll
scalable-global-vars.ll Scalable Vector IR Type with further LTO fixes 2019-07-05 12:48:16 +00:00
scatter_gather.ll Support arbitrary address space pointers in masked gather/scatter intrinsics. 2017-05-03 12:28:54 +00:00
speculatable-callsite-invalid.ll Add speculatable function attribute 2017-04-28 20:25:27 +00:00
speculatable-callsite.ll Add speculatable function attribute 2017-04-28 20:25:27 +00:00
sret.ll
statepoint.ll [IRVerifier] Allow StructRet in statepoint 2018-11-16 14:28:05 +00:00
swifterror.ll
swifterror2.ll
swifterror3.ll
swiftself.ll
tbaa-allowed.ll
tbaa.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
token1.ll
token2.ll
token3.ll
token4.ll
token5.ll
token6.ll
token7.ll
unsized-types.ll
varargs-intrinsic.ll
variant-part.ll Add DWARF for discriminated unions 2018-02-06 23:45:59 +00:00
writeonly.ll

README.txt

This directory contains testcases that the verifier is supposed to detect as
malformed LLVM code.  Testcases for situations that the verifier incorrectly
identifies as malformed should go in the test/Assembler directory.