A test for "size > 8" had got inverted. Tested on bfin-elf and applied as obvious.
Thanks, Richard Index: gcc/config/bfin/bfin.c =================================================================== --- gcc/config/bfin/bfin.c (revision 204311) +++ gcc/config/bfin/bfin.c (working copy) @@ -3286,7 +3286,7 @@ memcpy can use 32 bit loads/stores. */ if (TYPE_SIZE (type) && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST - && !wi::gtu_p (TYPE_SIZE (type), 8) + && wi::gtu_p (TYPE_SIZE (type), 8) && align < 32) return 32; return align;