brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 1b27adc Raw
39 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 32; RUN: llc < %s -mtriple=x86_64-- | FileCheck %s --check-prefixes=SSE3; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx2 | FileCheck %s --check-prefixes=AVX4; RUN: llc < %s -mtriple=x86_64-- -mattr=+avx512f | FileCheck %s --check-prefixes=AVX5 6define { <4 x i1>, <4 x i1> } @uaddo(<4 x i1> %a) {7; SSE-LABEL: uaddo:8; SSE:       # %bb.0:9; SSE-NEXT:    movaps %xmm0, %xmm110; SSE-NEXT:    xorps %xmm0, %xmm011; SSE-NEXT:    retq12;13; AVX-LABEL: uaddo:14; AVX:       # %bb.0:15; AVX-NEXT:    vmovaps %xmm0, %xmm116; AVX-NEXT:    vxorps %xmm0, %xmm0, %xmm017; AVX-NEXT:    retq18  %f = call { <4 x i1>, <4 x i1> } @llvm.uadd.with.overflow.v4i1(<4 x i1> %a, <4 x i1> %a)19  ret { <4 x i1>, <4 x i1> } %f20}21declare { <4 x i1>, <4 x i1> } @llvm.uadd.with.overflow.v4i1(<4 x i1>, <4 x i1>)22 23define { <4 x i1>, <4 x i1> } @saddo(<4 x i1> %a) {24; SSE-LABEL: saddo:25; SSE:       # %bb.0:26; SSE-NEXT:    movaps %xmm0, %xmm127; SSE-NEXT:    xorps %xmm0, %xmm028; SSE-NEXT:    retq29;30; AVX-LABEL: saddo:31; AVX:       # %bb.0:32; AVX-NEXT:    vmovaps %xmm0, %xmm133; AVX-NEXT:    vxorps %xmm0, %xmm0, %xmm034; AVX-NEXT:    retq35  %f = call { <4 x i1>, <4 x i1> } @llvm.sadd.with.overflow.v4i1(<4 x i1> %a, <4 x i1> %a)36  ret { <4 x i1>, <4 x i1> } %f37}38declare { <4 x i1>, <4 x i1> } @llvm.sadd.with.overflow.v4i1(<4 x i1>, <4 x i1>)39