Elena Demikhovsky | 1f6cc3c | 2016-09-12 19:03:21 +0000 | [diff] [blame] | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py |
| 2 | ; RUN: llc -O0 -mattr=+avx512f < %s | FileCheck %s |
| 3 | |
| 4 | target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" |
| 5 | target triple = "x86_64-apple-macosx10.11.0" |
| 6 | |
| 7 | define i32 @test(float %a, float %b) { |
| 8 | ; CHECK-LABEL: test: |
Francis Visoiu Mistrih | ca0df55 | 2017-12-04 17:18:51 +0000 | [diff] [blame] | 9 | ; CHECK: ## %bb.0: |
Elena Demikhovsky | 1f6cc3c | 2016-09-12 19:03:21 +0000 | [diff] [blame] | 10 | ; CHECK-NEXT: pushq %rax |
Elena Demikhovsky | 1f6cc3c | 2016-09-12 19:03:21 +0000 | [diff] [blame] | 11 | ; CHECK-NEXT: .cfi_def_cfa_offset 16 |
Craig Topper | 7f36a3a | 2017-10-30 14:50:11 +0000 | [diff] [blame] | 12 | ; CHECK-NEXT: vucomiss %xmm1, %xmm0 |
| 13 | ; CHECK-NEXT: sete %al |
| 14 | ; CHECK-NEXT: setnp %cl |
| 15 | ; CHECK-NEXT: andb %cl, %al |
| 16 | ; CHECK-NEXT: xorb $-1, %al |
| 17 | ; CHECK-NEXT: testb $1, %al |
Elena Demikhovsky | 1f6cc3c | 2016-09-12 19:03:21 +0000 | [diff] [blame] | 18 | ; CHECK-NEXT: jne LBB0_1 |
| 19 | ; CHECK-NEXT: jmp LBB0_2 |
| 20 | ; CHECK-NEXT: LBB0_1: ## %L_0 |
| 21 | ; CHECK-NEXT: callq ___assert_rtn |
Tim Northover | 3352f51 | 2018-04-13 22:25:20 +0000 | [diff] [blame] | 22 | ; CHECK-NEXT: ud2 |
Elena Demikhovsky | 1f6cc3c | 2016-09-12 19:03:21 +0000 | [diff] [blame] | 23 | ; CHECK-NEXT: LBB0_2: ## %L_1 |
| 24 | ; CHECK-NEXT: xorl %eax, %eax |
| 25 | ; CHECK-NEXT: popq %rcx |
| 26 | ; CHECK-NEXT: retq |
| 27 | %x10 = fcmp oeq float %a, %b |
| 28 | %x11 = xor i1 %x10, true |
| 29 | br i1 %x11, label %L_0, label %L_1 |
| 30 | |
| 31 | L_0: ; preds = %2 |
| 32 | call void @__assert_rtn() |
| 33 | unreachable |
| 34 | ; No predecessors! |
| 35 | L_1: ; preds = %2 |
| 36 | ret i32 0 |
| 37 | } |
| 38 | |
| 39 | ; Function Attrs: noreturn |
| 40 | declare void @__assert_rtn() |
| 41 | |