xref: /aosp_15_r20/external/llvm/test/CodeGen/Mips/2008-07-31-fcopysign.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=mips -o %t
2*9880d681SAndroid Build Coastguard Worker; RUN: grep abs.s  %t | count 1
3*9880d681SAndroid Build Coastguard Worker; RUN: grep neg.s %t | count 1
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker; FIXME: Should not emit abs.s or neg.s since these instructions produce
6*9880d681SAndroid Build Coastguard Worker;        incorrect results if the operand is NaN.
7*9880d681SAndroid Build Coastguard Worker; REQUIRES: disabled
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"
10*9880d681SAndroid Build Coastguard Workertarget triple = "mipsallegrexel-unknown-psp-elf"
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerdefine float @A(float %i, float %j) nounwind  {
13*9880d681SAndroid Build Coastguard Workerentry:
14*9880d681SAndroid Build Coastguard Worker	tail call float @copysignf( float %i, float %j ) nounwind readnone 		; <float>:0 [#uses=1]
15*9880d681SAndroid Build Coastguard Worker	ret float %0
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Workerdeclare float @copysignf(float, float) nounwind readnone
19