http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46073
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2010-10-18 19:00:51 UTC --- I think this is correct as __builtin_choose_expr still does semantically checking on the two arguments. Not to mention __builtin_choose_expr was added only to support Altivec intrinsics and that has since been moved away from that.