@@ -324,56 +324,6 @@ for.end: ; preds = %for.body, %entry
324324
325325declare double @llvm.exp2.f64 (double )
326326
327- define void @ldexp_f32i32 (i32 %n , ptr %y , ptr %x , i32 %exp ) {
328- ; CHECK-LABEL: @ldexp_f32i32(
329- ; CHECK: llvm.ldexp.v4f32.v4i32
330- ; CHECK: ret void
331- ;
332- entry:
333- br label %for.body
334-
335- for.body: ; preds = %entry, %for.body
336- %iv = phi i32 [ 0 , %entry ], [ %iv.next , %for.body ]
337- %arrayidx = getelementptr inbounds float , ptr %y , i32 %iv
338- %0 = load float , ptr %arrayidx , align 4
339- %call = tail call float @llvm.ldexp.f32.i32 (float %0 , i32 %exp )
340- %arrayidx2 = getelementptr inbounds float , ptr %x , i32 %iv
341- store float %call , ptr %arrayidx2 , align 4
342- %iv.next = add i32 %iv , 1
343- %exitcond = icmp eq i32 %iv.next , %n
344- br i1 %exitcond , label %for.end , label %for.body
345-
346- for.end: ; preds = %for.body, %entry
347- ret void
348- }
349-
350- declare float @llvm.ldexp.f32.i32 (float , i32 )
351-
352- define void @ldexp_f64i32 (i32 %n , ptr %y , ptr %x , i32 %exp ) {
353- ; CHECK-LABEL: @ldexp_f64i32(
354- ; CHECK: llvm.ldexp.v4f64.v4i32
355- ; CHECK: ret void
356- ;
357- entry:
358- br label %for.body
359-
360- for.body: ; preds = %entry, %for.body
361- %iv = phi i32 [ 0 , %entry ], [ %iv.next , %for.body ]
362- %arrayidx = getelementptr inbounds double , ptr %y , i32 %iv
363- %0 = load double , ptr %arrayidx , align 8
364- %call = tail call double @llvm.ldexp.f64.i32 (double %0 , i32 %exp )
365- %arrayidx2 = getelementptr inbounds double , ptr %x , i32 %iv
366- store double %call , ptr %arrayidx2 , align 8
367- %iv.next = add i32 %iv , 1
368- %exitcond = icmp eq i32 %iv.next , %n
369- br i1 %exitcond , label %for.end , label %for.body
370-
371- for.end: ; preds = %for.body, %entry
372- ret void
373- }
374-
375- declare double @llvm.ldexp.f64.i32 (double , i32 )
376-
377327define void @log_f32 (i32 %n , ptr %y , ptr %x ) {
378328; CHECK-LABEL: @log_f32(
379329; CHECK: llvm.log.v4f32
@@ -1026,157 +976,6 @@ for.end: ; preds = %for.body, %entry
1026976
1027977declare double @llvm.roundeven.f64 (double )
1028978
1029-
1030- define void @lround_i32f32 (i32 %n , ptr %y , ptr %x ) {
1031- ; CHECK-LABEL: @lround_i32f32(
1032- ; CHECK: llvm.lround.v4i32.v4f32
1033- ; CHECK: ret void
1034- ;
1035- entry:
1036- br label %for.body
1037-
1038- for.body: ; preds = %entry, %for.body
1039- %iv = phi i32 [ 0 , %entry ], [ %iv.next , %for.body ]
1040- %arrayidx = getelementptr inbounds float , ptr %y , i32 %iv
1041- %0 = load float , ptr %arrayidx , align 4
1042- %call = tail call i32 @llvm.lround.i32.f32 (float %0 )
1043- %arrayidx2 = getelementptr inbounds i32 , ptr %x , i32 %iv
1044- store i32 %call , ptr %arrayidx2 , align 4
1045- %iv.next = add i32 %iv , 1
1046- %exitcond = icmp eq i32 %iv.next , %n
1047- br i1 %exitcond , label %for.end , label %for.body
1048-
1049- for.end: ; preds = %for.body, %entry
1050- ret void
1051- }
1052-
1053- declare i32 @llvm.lround.i32.f32 (float )
1054-
1055- define void @lround_i32f64 (i32 %n , ptr %y , ptr %x ) {
1056- ; CHECK-LABEL: @lround_i32f64(
1057- ; CHECK: llvm.lround.v4i32.v4f64
1058- ; CHECK: ret void
1059- ;
1060- entry:
1061- br label %for.body
1062-
1063- for.body: ; preds = %entry, %for.body
1064- %iv = phi i32 [ 0 , %entry ], [ %iv.next , %for.body ]
1065- %arrayidx = getelementptr inbounds double , ptr %y , i32 %iv
1066- %0 = load double , ptr %arrayidx , align 8
1067- %call = tail call i32 @llvm.lround.i32.f64 (double %0 )
1068- %arrayidx2 = getelementptr inbounds i32 , ptr %x , i32 %iv
1069- store i32 %call , ptr %arrayidx2 , align 8
1070- %iv.next = add i32 %iv , 1
1071- %exitcond = icmp eq i32 %iv.next , %n
1072- br i1 %exitcond , label %for.end , label %for.body
1073-
1074- for.end: ; preds = %for.body, %entry
1075- ret void
1076- }
1077-
1078- declare i32 @llvm.lround.i32.f64 (double )
1079-
1080- define void @lround_i64f32 (i32 %n , ptr %y , ptr %x ) {
1081- ; CHECK-LABEL: @lround_i64f32(
1082- ; CHECK: llvm.lround.v4i64.v4f32
1083- ; CHECK: ret void
1084- ;
1085- entry:
1086- br label %for.body
1087-
1088- for.body: ; preds = %entry, %for.body
1089- %iv = phi i32 [ 0 , %entry ], [ %iv.next , %for.body ]
1090- %arrayidx = getelementptr inbounds float , ptr %y , i32 %iv
1091- %0 = load float , ptr %arrayidx , align 4
1092- %call = tail call i64 @llvm.lround.i64.f32 (float %0 )
1093- %arrayidx2 = getelementptr inbounds i64 , ptr %x , i32 %iv
1094- store i64 %call , ptr %arrayidx2 , align 4
1095- %iv.next = add i32 %iv , 1
1096- %exitcond = icmp eq i32 %iv.next , %n
1097- br i1 %exitcond , label %for.end , label %for.body
1098-
1099- for.end: ; preds = %for.body, %entry
1100- ret void
1101- }
1102-
1103- declare i64 @llvm.lround.i64.f32 (float )
1104-
1105- define void @lround_i64f64 (i32 %n , ptr %y , ptr %x ) {
1106- ; CHECK-LABEL: @lround_i64f64(
1107- ; CHECK: llvm.lround.v4i64.v4f64
1108- ; CHECK: ret void
1109- ;
1110- entry:
1111- br label %for.body
1112-
1113- for.body: ; preds = %entry, %for.body
1114- %iv = phi i32 [ 0 , %entry ], [ %iv.next , %for.body ]
1115- %arrayidx = getelementptr inbounds double , ptr %y , i32 %iv
1116- %0 = load double , ptr %arrayidx , align 8
1117- %call = tail call i64 @llvm.lround.i64.f64 (double %0 )
1118- %arrayidx2 = getelementptr inbounds i64 , ptr %x , i32 %iv
1119- store i64 %call , ptr %arrayidx2 , align 8
1120- %iv.next = add i32 %iv , 1
1121- %exitcond = icmp eq i32 %iv.next , %n
1122- br i1 %exitcond , label %for.end , label %for.body
1123-
1124- for.end: ; preds = %for.body, %entry
1125- ret void
1126- }
1127-
1128- declare i64 @llvm.lround.i64.f64 (double )
1129-
1130- define void @llround_i64f32 (i32 %n , ptr %y , ptr %x ) {
1131- ; CHECK-LABEL: @llround_i64f32(
1132- ; CHECK: llvm.llround.v4i64.v4f32
1133- ; CHECK: ret void
1134- ;
1135- entry:
1136- br label %for.body
1137-
1138- for.body: ; preds = %entry, %for.body
1139- %iv = phi i32 [ 0 , %entry ], [ %iv.next , %for.body ]
1140- %arrayidx = getelementptr inbounds float , ptr %y , i32 %iv
1141- %0 = load float , ptr %arrayidx , align 4
1142- %call = tail call i64 @llvm.llround.i64.f32 (float %0 )
1143- %arrayidx2 = getelementptr inbounds i64 , ptr %x , i32 %iv
1144- store i64 %call , ptr %arrayidx2 , align 4
1145- %iv.next = add i32 %iv , 1
1146- %exitcond = icmp eq i32 %iv.next , %n
1147- br i1 %exitcond , label %for.end , label %for.body
1148-
1149- for.end: ; preds = %for.body, %entry
1150- ret void
1151- }
1152-
1153- declare i64 @llvm.llround.i64.f32 (float )
1154-
1155- define void @llround_i64f64 (i32 %n , ptr %y , ptr %x ) {
1156- ; CHECK-LABEL: @llround_i64f64(
1157- ; CHECK: llvm.llround.v4i64.v4f64
1158- ; CHECK: ret void
1159- ;
1160- entry:
1161- br label %for.body
1162-
1163- for.body: ; preds = %entry, %for.body
1164- %iv = phi i32 [ 0 , %entry ], [ %iv.next , %for.body ]
1165- %arrayidx = getelementptr inbounds double , ptr %y , i32 %iv
1166- %0 = load double , ptr %arrayidx , align 8
1167- %call = tail call i64 @llvm.llround.i64.f64 (double %0 )
1168- %arrayidx2 = getelementptr inbounds i64 , ptr %x , i32 %iv
1169- store i64 %call , ptr %arrayidx2 , align 8
1170- %iv.next = add i32 %iv , 1
1171- %exitcond = icmp eq i32 %iv.next , %n
1172- br i1 %exitcond , label %for.end , label %for.body
1173-
1174- for.end: ; preds = %for.body, %entry
1175- ret void
1176- }
1177-
1178- declare i64 @llvm.llround.i64.f64 (double )
1179-
1180979define void @fma_f32 (i32 %n , ptr %y , ptr %x , ptr %z , ptr %w ) {
1181980; CHECK-LABEL: @fma_f32(
1182981; CHECK: llvm.fma.v4f32
0 commit comments